How to enable ping to VIP on ACE

I want to be able to ping the VIP address on our ACE. How can i accomplish that ?
Is it by adding an ICMP match to the VIP class-map ? I have globally enabled ICMP for management purposes.

loadbalance vip icmp-reply active

Similar Messages

  • How to enable ping service on java-stack only system

    I have installed SAP NetWeaver 7.0 - Java Trial on local host.
    How can you activate the ping service there?
    It should work under "http://localhost:50000/sap/bc/ping"
    (I know how to activate it with transaction SICF in an abap system, but I have java-stack only here, so I can't call transactions. I can only use the Visual Admin, right?, but there I could not detect a ping service so far)
    More detailed:
    I created system "SAP_WebDynpro_XSS". (this is necessary for connecting to ECC abap backend for ESS Packages) and set following parameter:
    template:"SAP system using connection string"
         category: Web Application Server
              Web AS host name: chrisSAP:50000
              Web AS path: /webdynpro/dispatcher/
              Web AS protocol: http
    But when I test the "SAP Web AS Connection" for this system, I got following error:
    7. The Web AS ping service http://chrisSAP:50000/sap/bc/ping was not pinged successfully. If the ping service is not activated on the Web AS, you can try to call the ping service manually.
    8. An HTTP/S connection to http://chrisSAP:50000/webdynpro/dispatcher/ was not
    obtained successfully; this might be due to a closed port on the Firewall.
    I guess step 8 did not pass because step 7 failed, and not because of a closed port or firewall (I made sure everything is open.)
    The strange thing is that the connection test fails, but the connection seems to work fine!
    I mean I can see the front ESS page in the portal when logging in with an ESS-user, and there are no errors in the log. If I change the SAP_WebDynpro_XSS parameters to some other made-up values, then the front ESS page does not come up and some errors appear with "SAP_WebDynpro_XSS" inside.
    That proofs that the connection is working despite the failed connection test, right?. But what can I do that the connection test passes? It seems that somehow SAP has hardcoded the path "/sap/bc/ping" which usually exists on an abap system. But I have java-stack only, so how can I tell that the function that runs the test?
    A system connection test fails, but the connection is working fine!
    If someone could explain that to me...

    Dear Srini Nookala,
    thank you for your answer. Unfortunately I don't understand the relation of my question to your answer.
    >> check with OSS note 1019335 SAP NetWeaver AS Java 6.40 SP21
    I have Version 7.0 SP14. I read the OSS note, but there are around 100 changes listed. I read them all, but couldn't figure out one that has to do with ping and system test. So which sentence inside the note are you referring to?
    >> The problem is due to JCo parameters configuration not properly, Ask Basis team, they will do it.
    I am basis team. I configured the JCo properly as described in manual and tested them afterwards. They run successful. Also all the links that you gave refer to JCO connections about how to set them up and test them. But what have JCO connections to do with System-connection tests? As far as I know JCO-connections are not used for system connectivity tests. You can set them up independent. I understand that JCO-connections are used for getting data from backend servers. But the system "SAP_WebDynpro_XSS" is defined for determing the webdynpros on localhost (frontend, not backend).
    So please can you explain me what JCO-connections which refer to remote hosts have to do with a ping service on local host that cannot be reached? And which part would be not configured "properly"? Timeouts? user?
    To define my question more properly:
    Is it possible to make the connection test work on a java-stack only host for a system that refers to itself (localhost)? Or is it a known bug?
    Some sub-questions
    Am I using the right system template (I am using "SAP system using dedicated application server")
    I have no abap on local host (chrisSAP). Only java stack. Usually path ..sap/bc/ping refers to an abap system, right? So in my opinion I have 3 possibilities:
    - install abap-stack on local host (portal) and activate ping service.
    - somehow install a ping service that runs under the given URL in Visual Admin (how?)
    - somehow tell the connection test to skip pinging and continue test. (How?)
    Any additional advice would be highly appreciated.

  • I cannot ping any VIP from within the ACE or from rservers

    I cannot ping any VIP from within the ACE or from rservers.  Is this expected?  I have rservers in other serverfarms that need to be able to communicate with the VIP of other serverfarms.  Any help is greatly appreciated.

    Thanks for you reply.  here is the config.  I removed other rserver and serverfarm config that does not have to do with this issue.
    logging enable
    logging fastpath
    logging standby
    logging console 4
    logging timestamp
    logging trap 4
    logging history 4
    logging buffered 4
    logging persistent 4
    logging monitor 4
    logging device-id hostname
    logging host 172.26.254.185 udp/514
    logging host 172.26.221.25 udp/514
    access-list INBOUND line 8 extended permit ip any any
    access-list INBOUND line 16 extended permit icmp any any
    access-list INBOUND line 24 extended permit tcp any any
    access-list INBOUND line 32 extended permit udp any any
    access-list ORADB line 8 extended permit tcp any any
    probe http CITRIX
      interval 30
      passdetect interval 15
      passdetect count 6
      open 1
    probe tcp HYPERION
      port 19000
      interval 2
      faildetect 2
      passdetect interval 2
      passdetect count 2
      receive 2
      open 1
    probe icmp PROBE_SERVICE_ICMP
      interval 5
      passdetect interval 5
    probe tcp W15SPSWFET001_PROBE
      interval 5
      passdetect interval 5
      connection term forced
      open 1
    parameter-map type connection TIMEOUT
      set timeout inactivity 43200
    parameter-map type http test
      persistence-rebalance
      set header-maxparse-length 2006
    rserver host w0bairwatch003
      description MDM-SEG
      ip address 172.20.60.73
      inservice
    rserver host w0bairwatch004
      description MDM-SEG
      ip address 172.20.60.74
      inservice
    rserver host w0bairwatch005
      description MDM-DEVICE
      ip address 172.20.60.75
      inservice
    rserver host w0bairwatch006
      description MDM-DEVICE
      ip address 172.20.60.76
      inservice
    rserver host w0bhamobile001
      description Lotus Notes Traveler Server
      ip address 172.20.60.57
      inservice
    rserver host w0bhamobile002
      description Lotus Notes Traveler Server
      ip address 172.20.60.58
      inservice
    serverfarm host MDMDEVICE
      predictor leastconns
      probe PROBE_SERVICE_ICMP
      rserver w0bairwatch005
        inservice
      rserver w0bairwatch006
    serverfarm host MDMSEG
      predictor leastconns
      probe PROBE_SERVICE_ICMP
      rserver w0bairwatch003
        inservice
      rserver w0bairwatch004
        inservice
    serverfarm host TRAVLR
      predictor leastconns
      probe PROBE_SERVICE_ICMP
      rserver w0bhamobile001
        inservice
      rserver w0bhamobile002
        inservice
    class-map match-all MDMDEVICE-VIP
      2 match virtual-address 172.20.48.35 any
    class-map match-all MDMSEG-VIP
      2 match virtual-address 172.20.48.33 any
    class-map type management match-any REMOTE_ACCESS
      description Remote access traffic match
      201 match protocol ssh any
      202 match protocol telnet any
      203 match protocol icmp any
      204 match protocol https any
      205 match protocol http any
      206 match protocol xml-https any
      207 match protocol snmp any
    class-map match-all TRAVLR-VIP
      2 match virtual-address 172.20.48.34 any
    policy-map type management first-match REMOTE_MGMT_ALLOW_POLICY
      class REMOTE_ACCESS
        permit
    policy-map type loadbalance first-match MDMDEVICE
      class class-default
        serverfarm MDMDEVICE
    policy-map type loadbalance first-match MDMSEG
      class class-default
        serverfarm MDMSEG
    policy-map type loadbalance first-match TRAVLR
      class class-default
        serverfarm TRAVLR
    policy-map multi-match CLIENTS-VIPS
      class MDMDEVICE-VIP
        loadbalance vip inservice
        loadbalance policy MDMDEVICE
        loadbalance vip icmp-reply active
      class MDMSEG-VIP
        loadbalance vip inservice
        loadbalance policy MDMSEG
        loadbalance vip icmp-reply active
      class TRAVLR-VIP
        loadbalance vip inservice
        loadbalance policy TRAVLR
        loadbalance vip icmp-reply active
    interface vlan 48
      ip address 172.20.48.10 255.255.255.0
      access-group input INBOUND
      access-group output INBOUND
      service-policy input REMOTE_MGMT_ALLOW_POLICY
      service-policy input CLIENTS-VIPS
      no shutdown
    interface vlan 60
      ip address 172.20.60.10 255.255.255.0
      access-group input INBOUND
      access-group output INBOUND
      service-policy input REMOTE_MGMT_ALLOW_POLICY
      no shutdown
    ip route 0.0.0.0 0.0.0.0 172.20.48.1

  • ACE30 - PING to VIP and Client side SVI not working

    Hi Guys,
    Having setup the ACE30 based on the configuration guides, I've been able to get basic load balancing working, probes, stickness etc.  However in testing connectivty, I've noticed that from the real server on the backend I cannot seem to PING:
    1. The VIP for the web service that the server is a part of
    2. The Client side SVI
    I'd like this to work to ensure full connectivity.
    I've applied ACLs to the Client side SVI (on the ACE) to allow this in both directions, and also removed any ACLs attached to the client side SVI on the MSFC where the subnet is actually homed.  However I just cannot seem to PING the Client side SVI on the ACE, or the VIP.  Trying to understand if this is normal behavior.
    Have inserted my config below for completeness.
    ACE30 Config
    login timeout 60
    hostname ACE1
    boot system image:c6ace-t1k9-mz.A90_6_3_5.bin
    boot system image:c6ace-t1k9-mz.A4_1_0.bin
    resource-class RC_1
      limit-resource all minimum 10.00 maximum unlimited
    access-list all line 8 extended permit ip any any
    access-list v6-any line 8 extended permit ip anyv6 anyv6
    class-map type management match-any REMOTE_ACCESS
      description Remote access traffic match
      2 match protocol telnet any
      3 match protocol ssh any
      4 match protocol icmp any
      5 match protocol https any
    policy-map type management first-match REMOTE_MGMT_ALLOW_POLICY
      class REMOTE_ACCESS
        permit
    interface vlan 768
      description Management connectivity
      ip address 10.20.40.72 255.255.255.0
      service-policy input REMOTE_MGMT_ALLOW_POLICY
      no shutdown
    ip route 0.0.0.0 0.0.0.0 10.20.40.254
    context VC_1
      allocate-interface vlan 11
      allocate-interface vlan 186
      member RC_1
    username admin password 5 $1$STizNv5q$i96.Qrt4C4SfHkbLyVT74.  role Admin domain default-domain
    username www password 5 $1$ZAn8bOtv$xmmNlH8akF6iYfXdQCKMo1  role Admin domain default-domain
    ssh key rsa1 1024 force
    ! VC_1
    ACE1/VC_1# sh run
    probe http HTTP_PROBE1
      interval 15
      passdetect interval 60
      expect status 200 200
      open 1
    rserver host RS_MONASH_WEB1
      description Test Monash Web Server 1
      ip address 10.194.27.177
      inservice
    serverfarm host SF_MONASH_WEB
      probe HTTP_PROBE1
      rserver RS_MONASH_WEB1 80
        inservice
    sticky ip-netmask 255.255.255.255 address source STICKY_MONASH_WEB
      timeout 3600
      serverfarm SF_MONASH_WEB
    class-map type management match-any REMOTE_ACCESS
      description Remote access traffic match
      2 match protocol ssh any
      3 match protocol telnet any
      4 match protocol icmp any
      5 match protocol https any
    class-map match-all VS_MONASH_WEB
      2 match virtual-address 10.194.11.1 tcp eq www
    access-list ALLOW_TRAFFIC_TOWARDS_ACE extended permit ip any any
    access-list ALLOW_TRAFFIC_TOWARDS_ACE extended permit icmp any any
    policy-map type management first-match REMOTE_MGMT_ALLOW_POLICY
      class REMOTE_ACCESS
        permit
    policy-map type loadbalance first-match PM_MONASH_WEB_LB
      class class-default
        sticky-serverfarm STICKY_MONASH_WEB
    policy-map multi-match PM_MULTI_MATCH_CLIENT_VIP
      class VS_MONASH_WEB
        loadbalance vip inservice
        loadbalance policy PM_MONASH_WEB_LB
    service-policy input REMOTE_MGMT_ALLOW_POLICY
    interface vlan 11
      description Client connectivity on Vlan 11
      ip address 10.194.11.250 255.255.255.0
      access-group input ALLOW_TRAFFIC_TOWARDS_ACE
      access-group out ALLOW_TRAFFIC_TOWARDS_ACE       ! not sure if this is required as well?
      service-policy input PM_MULTI_MATCH_CLIENT_VIP
      no shutdown
    interface vlan 186
      description CSM www monash
      ip address 10.194.27.189 255.255.255.240
      access-group input ALLOW_TRAFFIC_TOWARDS_ACE    ! not sure if this is required?
      access-group out ALLOW_TRAFFIC_TOWARDS_ACE      ! not sure if this is required?
      ip dhcp relay server 130.194.15.17
      ip dhcp relay server 130.194.15.1
      ip dhcp relay enable
      no shutdown
    ip route 0.0.0.0 0.0.0.0 10.194.11.254
    6500s
    ! test-clay1-gw - ACE connects to this 6500
    svclc multiple-vlan-interfaces
    svclc module 2 vlan-group 2
    svclc vlan-group 2  11,171-499,768
    ! test-clay0-gw - Where Client side subnet, VLAN11 is homed
    interface Vlan11
    description Testlab server subnet
    ip address 10.194.11.253 255.255.255.0
    no shut
    ip route 10.194.27.176 255.255.255.240 10.194.11.250
    thanks
    Sheldon

    To ping your VIP of the webserver, you should apple the service-policy input command on VLAN 186 too. Currently the VIP only listens on VLAN 11. For the SVI i think that was forbidden by security reason, but i cant remember anymore. Maybe you just need to put the management policy on the interface VLAN 186. If it dont work, then my first guess was right

  • Rservers initiated traffic not sourcing the traffic as VIP in Ace 4710

    One of the feature of our application is that our Application Server initiate text message to our devices sourcing from UDP 1120 and device need to see the message come from a specific pubic IP (2.2.2.2) with UDP port 1120 and reply back with the same Public IP (2.2.2.2) with UDP port 1120.The problem is we can make that happen if we have only one server in our ACE Serverfarm when we do a SNAT the real servers with the VIP address (10.1.246.32) but it does not work when we have more than one server in the Serverfarm. Since we have 2 servers, i cannot nat the real servers with the VIP address, if I do a PAT, obviously it is changing the source port of the request.
    Note: This setup is working fine with the Cisco Content Switch module running on chasis 6509. When I sniff the traffic initiated from the server coming the CSM load balancer, it is sourcing the traffic as the VIP and the source port remains the same by default but this is not the case with ACE 4710
    Traffic flow as follows
    ===============
    ACE 4710                                                       FWSM (Firewall static NAT)                    Device ( configured with 2.2.2.2:1120 (udp) to snd/rcv msg)
                                                 VIP
    Rserver 1   - 10.1.104.80       10.1.246.32           10.1.246.32  < - > 2.2.2.2                              1.1.1.1
    Rserver 2   - 10.1.104.81c
    ---------------------------------------------------------->           ------------------------------->                      - traffic flow from server to the device when we send msg
    Configs:
    ======
    rserver host server1
      ip address 10.1.104.80
      inservice
    rserver host server2
      ip address 10.1.104.81
      inservice
    serverfarm host SFARM
      failaction purge
      probe ICMP
      rserver server1
        inservice
      rserver server2
        inservice
    access-list TEST-1120 line 8 extended permit udp host 10.1.104.80 eq 1120 any
    access-list TEST-1120 line 16 extended permit udp host 10.1.104.81 eq 1120 any
    parameter-map type connection UDP_TIMEOUT
      set timeout inactivity 3600
    sticky ip-netmask 255.255.255.255 address source STKY-SFARM
      serverfarm SFARM
      timeout 180
      replicate sticky
    class-map match-all CLS-SFARM
      2 match virtual-address 10.1.246.32 udp eq 1120
    class-map match-all SERVERNAT
      2 match access-list TEST-1120
    policy-map type loadbalance first-match POL-SFARM
      class class-default
        sticky-serverfarm STKY-SFARM
    policy-map multi-match POL-LB
    class CLS-SFARM
        loadbalance vip inservice
        loadbalance policy POL-SFARM
        loadbalance vip icmp-reply active
        connection advanced-options UDP_TIMEOUT
    class SERVERNAT
       nat dynamic 1 vlan 244
    int vlan 244
    ip address 10.1.246.2 255.255.255.0
    service-policy input POL-LB
    nat-pool 1 10.1.246.32 10.1.246.32 netmask 255.255.255.255
      mac-sticky enable
      no icmp-guard
    no shut
    interface vlan 2506
    ip address 10.1.104.2 255.255.255.0
    service-policy input POL-LB
      mac-sticky enable
      no icmp-guard
    no shut

    I see in CSS, they are able to nat the source ip address with VIP and port-mapping diabled. How do I implement
    portmap disable in ACE 4710
    Disabling Port Mapping
    By default, the CSS NATs source IP addresses and PATs source ports for a configured source group. If you configure the portmap disablecommand in a source group, the CSS performs NAT on the source IP addresses but does not perform PAT on the source ports of UDP traffic that matches on that source group.
    For UDP applications with high-numbered assigned ports (for example, SIP and WAP), we recommend that you preserve those port numbers by configuring destination services in source groups instead of using the portmap disable command. Destination services cause the CSS to NAT the client source ports, but not the destination ports. For information about configuring destination services,

  • Cisco C6500 CSM - Real server cannot ping its VIP.

    I've been running into an issue with Cisco CSM for a number of years, but always found a way around it.  Im attempting to get to the bottom of this to find out once and for all, if this is infact a limitation of the device, or a config issue/work around is possible.
    Here is my situation.  My CSM's are configured in bridging mode.  Traffic works great, traffic bridges across vlans correctly.  Everything works and have many instances of smilar configurations running in production.  Every once and a while, a client requests that a "real" server (ie LWCMW-021)
    cannot ping its VIP address (10.95.88.68).  I am assuming this is related to the NAT Server, but not 100% sure.  Clients have requested this functionality for some type of application based purpose, but Im unaware if CSM in bridging mode can provide this or not. 
    Any suggestions?
    real LWCMW-021
    address 10.95.88.59
    inservice
    real LWCMW-022
    address 10.95.88.60
    inservice
    serverfarm LWCMW-80
    nat server
    no nat client
    real name LWCMW-021 80
      inservice
    real name LWCMW-022 80
      inservice
    probe HTTP-80 (defined elsewhere)
    vserver LWCMW-80
    virtual 10.95.88.68 tcp WWW
    vlan 120
    serverfarm LWCMW-80
    persistent rebalance
    inservice

    Sorry for giving false hope. It is only possible in ACE module. In case of CSM I believe we can only use workaround.
    In case of ACE we can bind the Virtual IP to mutliple vlan. In that case we see a ARP entry like this.
    10.10.10.111    e0.5f.b9.a1.72.2b  vlan345   VSERVER    LOCAL     _         up
    10.10.10.111    e0.5f.b9.a1.72.2b  vlan346   VSERVER    LOCAL     _         up
    As Virtual IP is not bound to a particular vlan in case of CSM it does not work here, but I can say for sure it is expected behavior.
    The logic would be that the server tries to resolve the ARP for Virtual IP and it does not get a response.
    In my case virtual ip is 10.10.10.111 before applying policy on ACE  you can see that it is exhibiting the same behaviour.
    Time     | Vmware_b4:72:11                       | 10.0.0.0                              | 10.10.10.4                            |
    |         |                   | Broadcast         |                   | 224.0.0.1         |                   | 224.0.0.22        |                  
    |0.000    |         Who has 10.10.10.11           |                   |                   |                   |                   |ARP: Who has 10.10.10.111?  Tell 10.10.10.11
    |         |(0)      ------------------>  (0)      |                   |                   |                   |          |
    |0.999    |         Who has 10.10.10.11           |                   |                   |                   |                   |ARP: Who has 10.10.10.111?  Tell 10.10.10.11
    |         |(0)      ------------------>  (0)      |                   |                   |                   |                   |
    |         |                   |                   |                   |                   |(0)      ------------------>  (0)      |
    |1.998    |         Who has 10.10.10.11           |                   |                   |                   |                   |ARP: Who has 10.10.10.111?  Tell 10.10.10.11
    |         |(0)      ------------------>  (0)      |                   |                   |                   |                   |
    |3.014    |         Who has 10.10.10.11           |                   |                   |                   |                   |ARP: Who has 10.10.10.111?  Tell 10.10.10.11
    |         |(0)      ------------------>  (0)      |                   |                   |                   |                   |
    |4.014    |         Who has 10.10.10.11           |                   |                   |                   |                   |ARP: Who has 10.10.10.111?  Tell 10.10.10.11
    |         |(0)      ------------------>  (0)      |                   |                   |                   |                   |
    Hope that helps.

  • How to enable a partner application for Single Sign-On?

    Can someone please advise me on how to enable my existing J2EE web application for the Oracle Single Sign-On?
    My requirement is i want to provide the single sign-on authentication service to my J2EE web application. For this, I would like to make my application as a partner application similar like the OracleAS Portal.
    I am using Oracle 10g ( OralceAS, Oracle Infra, OID ...)
    I found the following service/APIs which Oracle provides. I am not sure which one is suitable for me.
    1. mod_osso ( Static)
    --- In this case, I have to make a entry in mod_osso.config file to protect the URL. should I have to register the URL again through single sign on admin page ("Administer Partner Application") after make a entry in config file?
    2. mod_osso ( Dynamic directive)
    -- in this case, I have to modify the code by providing the directives like 401, 499.. etc. So i don't prefer this as i don't want to touch my app.
    --If I go with this option, should i have to register the URL with Single sign on server through SSO admin page ( as mentioned in the above step#1) ?
    3. SSO SDK
    - Since it was deprecated and need java coding, i am prefer this option.
    -- however, if i go with this option, i will develop code by using SDK. in this case i need to register the URL in SSO server through admin page.. am i right?
    Note:- OSSO server integrated with Active Directory for the authentication.
    Thanks,
    -Senthil

    sharon38_74 wrote:
    they said that our internal application needs to send a "login request" to etran via SSL with the user's information encoded in base 64 format. etran captures the HTTP header containing user authentication and authorization information, and parses the required information from the HTTP header.
    My question is that how I set user information in HTTP header? From my understanding, once I am able to set the user information in HTTP header, it is in base 64 format?Your application need to act like a proxy. You can invoke a HTTP request programmatically using java.net.URLConnection. You can set request headers using URLConnection#setRequestProperty(). Also see the API docs: [http://java.sun.com/javase/6/docs/api/java/net/URLConnection.html]. You only need to know the header field name where to set the Base64-encoded value in. You need to Base64-encode the value yourself.

  • How to enable excel downloading in ALV grid report.

    Hi all,
    How to enable excal downing in ALV grid report?
    Thanks in Advance.
    Siva Sankar.

    hi
    check the following code
    Example of a Simple ALV Grid Report
    REPORT  ZTUFI091                                .
    *& Report  ZDEMO_ALVGRID                                               *
    *& Example of a simple ALV Grid Report                                 *
    *& The basic requirement for this demo is to display a number of       *
    *& fields from the EKKO table.                                         *
    *REPORT  zdemo_alvgrid                 .
    TABLES:     ekko.
    type-pools: slis.                                 "ALV Declarations
    *Data Declaration
    TYPES: BEGIN OF t_ekko,
      ebeln TYPE ekpo-ebeln,
      ebelp TYPE ekpo-ebelp,
      statu TYPE ekpo-statu,
      aedat TYPE ekpo-aedat,
      matnr TYPE ekpo-matnr,
      menge TYPE ekpo-menge,
      meins TYPE ekpo-meins,
      netpr TYPE ekpo-netpr,
      peinh TYPE ekpo-peinh,
    END OF t_ekko.
    DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
          wa_ekko TYPE t_ekko.
    *ALV data declarations
    data: fieldcatalog type slis_t_fieldcat_alv with header line,
          gd_tab_group type slis_t_sp_group_alv,
          gd_layout    type slis_layout_alv,
          gd_repid     like sy-repid,
          gt_events     type slis_t_event,
          gd_prntparams type slis_print_alv.
    *Start-of-selection.
    START-OF-SELECTION.
    perform data_retrieval.
    perform build_fieldcatalog.
    perform build_layout.
    perform build_events.
    perform build_print_params.
    perform display_alv_report.
    *&      Form  BUILD_FIELDCATALOG
          Build Fieldcatalog for ALV Report
    form build_fieldcatalog.
    There are a number of ways to create a fieldcat.
    For the purpose of this example i will build the fieldcatalog manualy
    by populating the internal table fields individually and then
    appending the rows. This method can be the most time consuming but can
    also allow you  more control of the final product.
    Beware though, you need to ensure that all fields required are
    populated. When using some of functionality available via ALV, such as
    total. You may need to provide more information than if you were
    simply displaying the result
                  I.e. Field type may be required in-order for
                       the 'TOTAL' function to work.
      fieldcatalog-fieldname   = 'EBELN'.
      fieldcatalog-seltext_m   = 'Purchase Order'.
      fieldcatalog-col_pos     = 0.
      fieldcatalog-outputlen   = 10.
      fieldcatalog-emphasize   = 'X'.
      fieldcatalog-key         = 'X'.
    fieldcatalog-do_sum      = 'X'.
    fieldcatalog-no_zero     = 'X'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'EBELP'.
      fieldcatalog-seltext_m   = 'PO Item'.
      fieldcatalog-col_pos     = 1.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'STATU'.
      fieldcatalog-seltext_m   = 'Status'.
      fieldcatalog-col_pos     = 2.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'AEDAT'.
      fieldcatalog-seltext_m   = 'Item change date'.
      fieldcatalog-col_pos     = 3.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MATNR'.
      fieldcatalog-seltext_m   = 'Material Number'.
      fieldcatalog-col_pos     = 4.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MENGE'.
      fieldcatalog-seltext_m   = 'PO quantity'.
      fieldcatalog-col_pos     = 5.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MEINS'.
      fieldcatalog-seltext_m   = 'Order Unit'.
      fieldcatalog-col_pos     = 6.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'NETPR'.
      fieldcatalog-seltext_m   = 'Net Price'.
      fieldcatalog-col_pos     = 7.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-datatype     = 'CURR'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'PEINH'.
      fieldcatalog-seltext_m   = 'Price Unit'.
      fieldcatalog-col_pos     = 8.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    endform.                    " BUILD_FIELDCATALOG
    *&      Form  BUILD_LAYOUT
          Build layout for ALV grid report
    form build_layout.
      gd_layout-no_input          = 'X'.
      gd_layout-colwidth_optimize = 'X'.
      gd_layout-totals_text       = 'Totals'(201).
    gd_layout-totals_only        = 'X'.
    gd_layout-f2code            = 'DISP'.  "Sets fcode for when double
                                            "click(press f2)
    gd_layout-zebra             = 'X'.
    gd_layout-group_change_edit = 'X'.
    gd_layout-header_text       = 'helllllo'.
    endform.                    " BUILD_LAYOUT
    *&      Form  DISPLAY_ALV_REPORT
          Display report using ALV grid
    form display_alv_report.
      gd_repid = sy-repid.
      call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                i_callback_program      = gd_repid
                i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM
                i_callback_user_command = 'USER_COMMAND'
               i_grid_title           = outtext
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]
               it_special_groups       = gd_tabgroup
                it_events               = gt_events
                is_print                = gd_prntparams
                i_save                  = 'X'
               is_variant              = z_template
           tables
                t_outtab                = it_ekko
           exceptions
                program_error           = 1
                others                  = 2.
      if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
    endform.                    " DISPLAY_ALV_REPORT
    *&      Form  DATA_RETRIEVAL
          Retrieve data form EKPO table and populate itab it_ekko
    form data_retrieval.
    select ebeln ebelp statu aedat matnr menge meins netpr peinh
    up to 10 rows
      from ekpo
      into table it_ekko.
    endform.                    " DATA_RETRIEVAL
    Form  TOP-OF-PAGE                                                 *
    ALV Report Header                                                 *
    Form top-of-page.
    *ALV Header declarations
    data: t_header type slis_t_listheader,
          wa_header type slis_listheader,
          t_line like wa_header-info,
          ld_lines type i,
          ld_linesc(10) type c.
    Title
      wa_header-typ  = 'H'.
      wa_header-info = 'EKKO Table Report'.
      append wa_header to t_header.
      clear wa_header.
    Date
      wa_header-typ  = 'S'.
      wa_header-key = 'Date: '.
      CONCATENATE  sy-datum+6(2) '.'
                   sy-datum+4(2) '.'
                   sy-datum(4) INTO wa_header-info.   "todays date
      append wa_header to t_header.
      clear: wa_header.
    Total No. of Records Selected
      describe table it_ekko lines ld_lines.
      ld_linesc = ld_lines.
      concatenate 'Total No. of Records Selected: ' ld_linesc
                        into t_line separated by space.
      wa_header-typ  = 'A'.
      wa_header-info = t_line.
      append wa_header to t_header.
      clear: wa_header, t_line.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
           exporting
                it_list_commentary = t_header.
               i_logo             = 'Z_LOGO'.
    endform.
          FORM USER_COMMAND                                          *
          --> R_UCOMM                                                *
          --> RS_SELFIELD                                            *
    FORM user_command USING r_ucomm LIKE sy-ucomm
                      rs_selfield TYPE slis_selfield.
    Check function code
      CASE r_ucomm.
        WHEN '&IC1'.
      Check field clicked on within ALVgrid report
        IF rs_selfield-fieldname = 'EBELN'.
        Read data table, using index of row user clicked on
          READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
        Set parameter ID for transaction screen field
          SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.
        Sxecute transaction ME23N, and skip initial data entry screen
          CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
        ENDIF.
      ENDCASE.
    ENDFORM.
    *&      Form  BUILD_EVENTS
          Build events table
    form build_events.
      data: ls_event type slis_alv_event.
      call function 'REUSE_ALV_EVENTS_GET'
           exporting
                i_list_type = 0
           importing
                et_events   = gt_events[].
      read table gt_events with key name =  slis_ev_end_of_page
                               into ls_event.
      if sy-subrc = 0.
        move 'END_OF_PAGE' to ls_event-form.
        append ls_event to gt_events.
      endif.
        read table gt_events with key name =  slis_ev_end_of_list
                               into ls_event.
      if sy-subrc = 0.
        move 'END_OF_LIST' to ls_event-form.
        append ls_event to gt_events.
      endif.
    endform.                    " BUILD_EVENTS
    *&      Form  BUILD_PRINT_PARAMS
          Setup print parameters
    form build_print_params.
      gd_prntparams-reserve_lines = '3'.   "Lines reserved for footer
      gd_prntparams-no_coverpage = 'X'.
    endform.                    " BUILD_PRINT_PARAMS
    *&      Form  END_OF_PAGE
    form END_OF_PAGE.
      data: listwidth type i,
            ld_pagepos(10) type c,
            ld_page(10)    type c.
      write: sy-uline(50).
      skip.
      write:/40 'Page:', sy-pagno .
    endform.
    *&      Form  END_OF_LIST
    form END_OF_LIST.
      data: listwidth type i,
            ld_pagepos(10) type c,
            ld_page(10)    type c.
      skip.
      write:/40 'Page:', sy-pagno .
    endform.
    hope it will help you
    regards
    sreelatha gullapalli

  • How to enable the S-Video port on a Satelite M30X-154?

    Hey does any one know how to enable the S-Video port on a Satellite SM30X-154 laptop?
    If I press the FN+5 keys the only options I get is LCD and no S-VHS option. My TV is set up for it as I watch DVD's through the cable.
    When I connect the cable to the laptop, nothing happens!!
    HELP

    Hi,
    Sorry, my Tosh A100 has a Geforce 7600, I don't know what your GA is.
    But on mine I have a NVidia Control Panel, where I can configure dualview,
    which normally lets me choose between the builtin LCD and the extern monitor (VGA-Port).
    When a TV is connected and not recognized, I can enforce recognition there.
    On the next start of the panel, the TV is then available too.
    Perhaps I could help you.
    If not, note that with windows settings your TV will not be available.
    Try to go to the User Interface of your graphics adapter...
    Matz

  • How to Enable MMS without BIS

    How to enable MMS without BIS
    This guide is for you if:
    you have an BlackBBerry OS 7 device on a regular (non-BIS) data plan
      and
      2. you cannot send MMS (multimedia) messages.
    Getting MMS working requires you to split, hex edit, merge and install service books, so read through the instructions and decide whether you’re up to it. I’ve attempted to explain everything as clearly as possible, but it’s a complex process and requires you to follow instructions carefully.
    It's worth asking your carrier if they can just enable MMS for you. If they can and will, you don't need this guide.
    Notes:
    The process described here may also work on earlier devices with OS 4, 5, and 6, but I don’t have those devices to test.
    Many carriers require you to have a data plan in order to send MMS messages. If you don’t have one, this guide may not help you.
    Depending on your cellular plan, sending MMS messages may involve extra charges.
    Preparation: Before You Get Started
    Software
    First, you need some tools to do the work. Download and install these three programs on your computer:
    MagicBerry 3.5 (here)
    A Hex editor (I like HxD, here)
    BlackBerry Desktop (link)
    Service Books
    You will also need a copy of the service books attached to post #1 in this thread over at CrackBerry. Extract the contents of the .zip file to a location of your choice.
    MMS Configuration Information
    Once you have the tools and service books, you need to get the MMS configuration information from your cellular carrier.
    Specifically, you need three settings: MMS Proxy, MMSC, and APN. Search on Google for something like, “MMS settings for [insert your cellular carrier’s name here]” and you should find them. Note that you also need the port number for the MMS Proxy. It should be there on the settings page.
    Note: if the port number for your MMS Proxy is in the 9000s, this process probably won’t work, since your cell carrier may be using the older WAP 1.2 specification. If anyone runs across this, let me know, and I’ll try to help you out.
    A Note on MagicBerry
    MagicBerry is an .ipd file editor. Service books, like the ones responsible for MMS, are .ipd files. The logical conclusion would be that you could edit service books with MagicBerry. But MagicBerry only shows you certain pre-set fields within the .ipd file. As a result, you can't see or edit a lot of the information in the service book. Even worse, if you do edit a service book file with MagicBerry, that unseen information is not saved, so you end up deleting it and rendering the service book useless.
    MagicBerry does have good uses, though: it splits and merges service book files perfectly. In fact, it is the best tool for splitting and merging service books, which is why you downloaded a copy.
    Due to MagicBerry’s limitations, you’re going to edit the files with the hex editor.
    Let’s get started!
    The MMS How-to Guide
    Step 1: Split the .ipd Files
    Start MagicBerry, click File > Open, and open the tmo_servicebooks.ipd file.
    Click Manipulate > Split.
    Tick the box for the MMS Config 2.0 file.
    Press “Split Selected,” enter a file name (and select a directory, so you know where the file is being saved), and press “Save.” Name the file “MMS_Config_20” so that you easily recognize it.
    Note: there are "MMS Config" and "MMS Config 2.0" service books in the tmo_servicebooks.ipd file. Make sure you select the 2.0 version.
    Step 2: Hex Edit the MMS Config 2.0 File
    Now, start your hex editor and open the “MMS_Config_20.ipd” file. It will look like this, without the highlights and bolding. I’ve added those so that it will be easier to provide instructions on editing.
    Hex Editing Basics
    In the HEX editor, the blue numbers don’t matter to you (they’re just column and row labels). Only the black ones are part of the file.
    The bytes (the two-character pairs) on the left side are all numbers, expressed in hexadecimal or “base-16”. The same information is expressed in ANSI characters on the right side.
    The basics of hexadecimal numbering are that you count as follows:
    Base-16 (hexadecimal):  1 2 3 4 5 6 7 8 9  A  B  C   D  E  F  10
    Base-10 (decimal):         1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
    So in the two-character byte pair, 0D = 13, 1F = 31, 50 = 80, etc. If you can figure out those conversions, you’re good. If not, google hexadecimal numbering, and spend some time at a lesson. You need to understand how hex works to do this. There are also decimal to hexadecimal converters online. Use them to check your work, or to do the conversion work for you.
    You can edit the file from either side of the hex editor. As you edit the information on one side, you’ll see it automatically changing on the other as well.
    It’s easier to edit the information in the green, turquoise, and red fields on the right side.
    The information in the grey, yellow, and pink fields must be edited from the left (hex) side, because it’s the hex value that matters, and it shows up as periods or jibberish on the right side. All those “dots” on the right side are not identical when you look over at the left side. They’re actually very different values. The nonsensical letters on the right side are likewise meaningful values on the left side.
    It’s not a bad idea to just spend some time playing around in the hex editor before you move on. When you’re done, close the file without saving it, and the changes you make while experimenting won’t be made permanent.
    Editing the File
    The green blocks: enter your MMS proxy in each one, with the port number following the colon. Add to or delete bytes from the highlighted field if necessary, but whatever you do, do not write over or delete bytes outside the highlighted field! Those bytes contain necessary information, and if they are not there, the service book will not work. The same rule holds true for all of the other edits. You must stay within the highlighted fields. To delete bytes, just press delete. To insert bytes, position the cursor, and go to Edit > Insert Bytes on the menu bar, and choose the number of bytes to insert. If you’re using HxD hex editor, ctrl-z will undo a mistake. It also makes your changes in red, which makes them a little easier to follow. As with all programming, the work has to be perfect. There can be no mistakes. Check everything you do carefully.
    The turquoise block: enter the MMSC address here.
    The red block: enter your APN here.
    The yellow blocks: total number of bytes in the highlighted green, turquoise, or red range that follows. Adjust it when you’ve finished editing. The number must be expressed in HEX of course. Use a decimal to hexadecimal converter online if you prefer that.
    The pink blocks: the total number of bytes in the bolded range that follow (again, in hex). Adjust it when you’re finished editing the field.
    The grey block: a count of the total number of bytes that follow it. In the original file, the value is 30 01 00 00, which breaks down as: 30(hex)=48 01(hex)=256. The total (48+256) is 304. If the number of bytes following the grey block was less than 256, there would be no 01 in the second place. For example, if there were 226 bytes following the block, the grey block would look like this: E2 00 00 00. When you are finished editing the entire file, go back and adjust the number in the grey block accordingly.
    Once you’re done, save the file.
    Step 3: Merge the MMS Config 2.0 and Wap Push Config Service Books
    Open the “MMS_Config_20.ipd” file in MagicBerry
    Once you’ve opened the file, click Manipulate > Merge.
    Tick the box for the MMS Config 2.0 file.
    On the right side of the “Merge” window, where it says, “Choose second IPD file,” press the button with the three dots.
    Choose the tmo_servicebooks.ipd file.
    Tick only the box for the “Wap Push Config” service book.
    Press “Merge Selected,” enter a file name (and select the directory if necessary), and press “Save.”
    Close MagicBerry
    Step 4: Backup Your Phone
    This is mandatory. You’ll need the backup file for step 6.
    You need to have BlackBerry Desktop installed on your computer. If you haven’t done that yet, do it.
    Connect your BlackBerry device to your computer with a USB cable. If BlackBerry Desktop does not start automatically, start it.
    Do a backup. Just hit “Back up now” and follow the prompts. Do a full backup. Once you’re done, go to step 5.
    Step 5: Merge the combined MMS Config 2.0/Wap Push Config service book file with your existing service books
    Open MagicBerry
    Press File > Open and at the bottom of the Open dialogue window beside the File name box, change “IPD Files (.ipd)” to “BBB Files (.bbb)”. Navigate to the folder where you stored your backup, and open it. It might take a while to open.
    Click Manipulate > Merge.
    Go down the list on the left hand side and tick the checkboxes for the service book entries (they will be way down). If there are service books listed for MMS Config or Wap Push Config, uncheck those boxes.
    On the right side of the “Merge” window, where it says, “Choose second IPD file,” press the button with the three dots. Choose your merged MMS Config 2.0/Wap Push Config file.
    Press “Merge Selected,” enter a file name (and select the directory if necessary), and press “Save.”
    Optional: You can merge the newly created file again with any other service books you may need – such as the Anworm service books for the browser mentioned in my thread on CrackBerry. Just follow the process used in step 3.
    Step 6: Install the Service Books to your phone:
    Connect your BlackBerry to your computer with a USB cable if it isn’t still connected.
    On your BlackBerry, go to Options > Device > Advanced System Settings > Service Book
    Hold down the “Alt” key and press S B E B. You should see a message that says, “Legacy SB Restore Enabled.” Press Okay.
    On your computer, open BlackBerry Desktop.
    Go to Device > Restore.
    Press “Change” and navigate to the folder with the merged .ipd file you created. Press “OK.” You should now see the file listed in the Restore window.
    Click on the merged .ipd file you created to select it.
    Under the heading “Select Data to Restore,” select “Select Device Data and Settings” and then tick the box for “Service Book.” This step is really important. Make sure it's done right. If you screw it up you could end up wiping a lot of settings and data.
    Press “Restore” and answer “Yes” to the confirmation dialogue.
    Close the BlackBerry Desktop software, disconnect your device, and do a battery pull to reboot.
    Voila! If everything went well, you should have MMS capabilities. Test your ability to send and receive multimedia by sending yourself a picture message. You should receive the message within about 10 seconds.
    If it doesn’t work, go back and make sure EVERYTHING in the file is done perfectly. If you find a problem, fix it, merge the files again, and reinstall the service books.
    Solved!
    Go to Solution.

    Why not just ask carrier to enable MMS? I know T-Mobile can and will do it, even if there is no data plan at all on the line. We did it for my daughter and I know T-Mobile has done it for others. I assume other carriers do the same, but don't know....Which is why I ask.
    - Ira

  • How to enable internet sharing on mac book to use my iphone?

    how to enable internet sharing on mac book to use my iphone?

    Hey PPRoy,
    Thanks for the question. The following article may assist in achieving your goal:
    OS X Mavericks: Share your Internet connection
    http://support.apple.com/kb/PH13855
    Thanks,
    Matt M.

  • How to enable execute-disable bit and other hidden settings on Lenovo 3000 N200 model 0769!

    2008-11-16: I have posted some more settings, scroll down to message 19 in this thread to read them.
    Hi,
    Here's some good news for anyone with a Lenovo 3000 N200 model 0769, who is disappointed and frustrated with the lack of options in the BIOS setup menu. (I had a moan about that in this thread.)
    This is a long post but I hope you'll find it worthwhile. Here are the features/settings which I will explain how to enable:
    The BIOS disables the execute-disable bit function of the CPU, with no way to turn it on. You can enable it.
    You can set VGA and VESA graphics modes to not be stretched to fill the whole screen (sharper graphics with no distorted aspect ratio).
    Speed up the POST display by skipping the memory test
    Disable various features (if you don't use them, that might save some power): the HD audio controller, WLAN card, on-board LAN, shadowing of the video BIOS
    Enable beep before booting the OS
    Enable key click sound (only in DOS, not Windows or Linux)
    I'm still working on this, and hope to figure out more hidden settings soon, e.g. to disable the DVD drive and trackpad, and to change the video output from NTSC to PAL.
    The information below applies to the Lenovo 3000 N200 model 0769 with BIOS version 3.03. My N200 has Nvidia graphics. For some background on the general principles/research required to figure this out, please see this thread at Wimsbios.com.
    To change the settings, you need to create a bootable DOS floppy disk or USB drive. Download SYMCMOS.EXE (Google for it) and put it on the bootable disk. Boot the disk and run SYMCMOS to back up your current CMOS settings: SYMCMOS -Lsettings.txt
    Next load the settings.txt into a text editor. It will begin like this:
    ( SYMBOLIC CMOS EDITOR - Version 643710-035 )
    CRC = 3EDD
    (0000) [0001]
    (0003) [0001]
    Your CRC value may differ. Each line after the CRC contains a token number, followed by the value of that token. You can start with the settings.txt you created and edit any tokens you want to change, or delete all token lines and just include the tokens you want to change. Then use SYMCMOS.EXE to apply the new file: SYMCMOS -V2 -Uupdate.txt
    After running that command you can reset, and hopefully notice the new settings in action. (For certain settings, such as re-enabling the execute-disable bit, you need to turn the computer off then on again.)
    Here are some specific tokens you can change:
    Token Default New Description
    (0000) [0001] [0000] Disable the HD audio controller
    (0042) [0001] [0000] Disable LCD panel graphics scaling/stretching
    (004B) [0000] [0001] Beep before booting the OS
    (0267) [0001] [0000] Enable support for the CPU execute-disable bit
    (028E) [0000] [0001] Enable key click (only works in DOS and BIOS setup)
    (02A3) [0001] Set to 0 for slower memory test, or 2 (or 3?) to skip
    test for faster booting, especially with 4GB RAM
    (046E) [0001] [0000] Disable video BIOS shadowing. (Best to leave enabled.)
    (0471) [0000] [0001] Enable 1MB memory hole at 15MB. (Best leave disabled.)
    (0486) [0001] [0000] Disable PCI Express ports 1-6. This takes precedence
    over the individual port bits below, and disables the
    LAN, WLAN and (probably) ExpressCard port.
    (0489) [0001] [0000] Disable PCI Express port 2 (WLAN card)
    (048C) [0001] [0000] Disable PCI Express port 3 (maybe ExpressCard?)
    (048F) [0001] [0000] Disable PCI Express port 4 (LAN)
    For example, if you want to disable LCD panel scaling and enable the execute-disable bit, you would create a text file like this:
    CRC = 3EDD
    (0042) [0000]
    (0267) [0001]
    Some final points:
    Loading the default settings in the BIOS setup menu will overwrite any changes you make using SYMCMOS.EXE. So keep that bootable disk around in case you need to re-apply your settings in future.
    The token numbers above are specific to version 3.03 of the Lenovo 3000 N200 model 0769 BIOS. They might be different for earlier BIOS versions, and will be different for other models of computer.
    Once you have created a bootable floppy disk with a text file containing your updated settings, you could create a bootable CD with the floppy's data on. Just boot that CD to restore your settings in future.
    Before experimenting with randomly changing token values to discover other hidden settings, make sure you know how to reset your computer's CMOS memory! Changing some settings results in your computer becoming unable to boot, so you can't use the BIOS setup screen to reset. I wrote about how to reset the N200 model 0769 CMOS in this thread.
    If you discover any other settings, please let me know.
    Any changes made are at your own risk; if you "brick" your laptop don't blame me!
    Message Edited by Donuts on 10-15-2008 09:45 AM
    Message Edited by Donuts on 11-16-2008 11:35 PM

    Hi Donuts !
    My computer is a 3000 N200 0769BAG. It has a Dual Core Pentium and the information I get about the BIOS using lshw are :
    ========================================================================================
    description: BIOS                                                                                                                            
              vendor: LENOVO                                                                                                                              
              physical id: 0                                                                                                                              
              version: 68ET35WW (04/16/2008)                                                                                                              
              size: 106KiB                                                                                                                                
              capacity: 960KiB                                                                                                                            
              capabilities: pci pnp apm upgrade shadowing escd cdboot bootselect edd int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer int10video acpi usb ls120boot biosbootspecification
    ====================================================================================
    I've nothing telling me it is a 3.03 BIOS version but only got the BIOS file name (68ET35WW);
    Is it the same BIOS you used and if not how could I find the list of (token, default value,new seting) for that particular BIOS ?
    Thanks a lot in advance for your help !
    Regards

  • How to enable the widgets in Indesign CC..?

    Hi,
    I am working on porting our Indesign CS6 plugin to Indesign CC plugin.I have completed the porting and the plugins has opened in Indesign CC,but i have one problem in design. Three of our Widgets has not opened in Indesign CC.
    The code is the following,
    .fr file
    resource SampleDialogWidget (kSDKDefDialogResourceID + index_enUS)
              __FILE__, __LINE__,
              kSampleDialogWidgetID,                    // WidgetID
              kPMRsrcID_None,                                        // RsrcID
              kBindNone,                                                  // Binding
              0, 0, 700,400,                                        // Frame (l,t,r,b)
              kTrue, kTrue,                                        // Visible, Enabled
              kSampleDialogTitleKey,                    // Dialog name
              //<FREDDYWIDGETDEFLISTUS>
    SamplePrefListBox
                                  SamplePreflistboxWidgetID,
                                  kSysOwnerDrawListBoxPMRsrcId,                                                            // WidgetId, RsrcId
                                  kBindAll,                                                                                                              // Frame binding
                                  Frame(15,15,170,360)                                                                                // Frame
                                  kTrue, kTrue,                                                                                                    // Visible, Enabled
                                  1,0,                                                                                                                        // List dimensions
                                  19,                                                                                                                                  // Cell height
                                  1,                                                                                                                                  // Border width
                                  kFalse,kTrue,                                                                                                    // Has scroll bar (h,v)
                                  kTrue,                                                                                                                        // Multiselection
                                  kTrue,                                                                                                                        // List items can be reordered
                                  kTrue,                                                                                                                        // Draggable to new/delete buttons
                                  kTrue,                                                                                                                        // Drag/Dropable to other windows
                                  kTrue,                                                                                                                        // An item always has to be selected
                                  kFalse,                                                                                                                        // Don't notify on reselect
                                  kSamplePrefListElementRsrcID                                                                      // Fill list box with widgets with this ID (default is 0)
                                            CellPanelWidget
                                                      kCellPanelWidgetID, kPMRsrcID_None,                              // WidgetId, RsrcId
                                                      kBindAll,                                                                                          // Frame binding
                                                      Frame(-1,1,154,340)                    // Frame
                                                      kTrue, kTrue                                                                                // Visible, Enabled
                                                                // ----- This is the CPanelControlData that holds the widgets
                                                                //                     that are items in the list box. They are not persistent
                        GenericPanelWithBorderWidget
                    SamplePrefGeneralTabWidgetID, kPMRsrcID_None,
                                  kBindBottom |kBindRight,
                                  Frame(175,10,695,360)                    // Frame
                                  kTrue, kTrue,
                        StaticTextWidget
                                  kInvalidWidgetID,                                                                                // WidgetId (default=0)
                                  kSysStaticTextPMRsrcId,                    // RsrcId
                                  kBindNone,                                                            // Frame binding
                                  10, 15, 138, 35,                                                  // Frame: left, top, right, bottom.
                                  kTrue, kTrue,                                                  // Visible, Enabled
                                  kAlignLeft, kEllipsizeEnd,kTrue,                    // Alignment, ellipsize style
                                  kSamplePrefProjectPathStringKey,                    // Initial text.
                                  kSamplePrefProjectPathTextEditBoxWidgetID          // No associated widget
                        // TextEditBox Widget resource
                        TextEditBoxWidget
                        kSamplePrefProjectPathTextEditBoxWidgetID, // WidgetId
                        kSysEditBoxPMRsrcId, // RsrcId
                        kBindNone, // Frame binding
                        Frame(140, 15, 420, 35), // Frame (l,t,r,b)
                        kTrue, kTrue // Visible, Enabled
                        0, // Widget id of nudge button (0 so we dont get one)
                        0, 0,// small,large nudge amount
                        0, // max num chars(0 = no limit)
                        kFalse,// is read only
                        kFalse,// should notify each key stroke
                        kFalse,// range checking enabled
                        kFalse,// blank entry allowed
                        0, // Upper bounds
                        0, // Lower bounds
                        "", // Initial text
                        ButtonWidget
                                  kSampleChooseProjectButtonWidgetID,
                                  kSysButtonPMRsrcId,
                                  kBindNone,
                                  430, 15, 500, 35,
                                  kTrue, kTrue,
                                  kSampleChooseBtnStringKey,
    GenericPanelWithBorderWidget
                                  SamplePrefFittingTabWidgetID, kPMRsrcID_None,
                                  kBindBottom |kBindRight,
                                  Frame(175,10,695,360)                    // Frame
                                  kTrue, kTrue,
                                  StaticTextWidget
                                                      kInvalidWidgetID,                    // WidgetId
                                                      kSysStaticTextPMRsrcId,                    // RsrcId
                                                      kBindNone,                              // Frame binding
                                                      Frame( 10,15,300,35  ),          // Frame (l,t,r,b)
                                                      kTrue, kTrue, kAlignLeft,          // Visible, Enabled, Alignment
                                                      kDontEllipsize,kTrue,                              //**new element in InDesign 2.0: don't add any ellipses
                                                      "Drag/Drop Operation",                     // Text
                                                      0// WidgetId for associated control for shortcut focus
                                            SeparatorWidget
                                                      0,
                                                      kPMRsrcID_None,
                                                      kBindNone,
                                                      Frame(10,37,450,38),
                                                      kTrue,kTrue,
                                            StaticTextWidget
                                                      0,                    // WidgetId
                                                      kSysStaticTextPMRsrcId,                    // RsrcId
                                                      kBindNone,                              // Frame binding
                                                      Frame( 10, 40, 250, 60  ),          // Frame (l,t,r,b)
                                                      kTrue, kTrue, kAlignLeft,          // Visible, Enabled, Alignment
                                                      kDontEllipsize,kTrue,                              //**new element in InDesign 2.0: don't add any ellipses
                                                      kSampleTextOptionsTextKey,                     // Text
                                                      0                    // WidgetId for associated control for shortcut focus
                                            CheckBoxWidget
                                                      kSampleTextFitCheckBoxWidgetID,                    // WidgetId
                                                      kSysCheckBoxPMRsrcId,                              // RsrcId
                                                      kBindNone,
                                                      Frame(150, 40, 350, 60) //  left, top, right, bottom
                                                      kTrue,                                                                      // Visible
                                                      kTrue,                                                                      // Enabled
                                                      kAlignLeft,                                                            // Alignment
                                                      kSampleTextFitChkBoxTextKey                    // Initial text
    GenericPanelWithBorderWidget
                                  SamplePrefScriptEventsTabWidgetID, kPMRsrcID_None,
                                  kBindBottom |kBindRight,
                                  Frame(175,10,695,360)                    // Frame
                                  kTrue, kTrue,
                                            StaticTextWidget
                                                      0,                                                                                // WidgetId (default=0)
                                                      kSysStaticTextPMRsrcId,                    // RsrcId
                                                      kBindNone,                                                            // Frame binding
                                                      10, 10, 200, 30,                                                  // Frame: left, top, right, bottom.
                                                      kTrue, kTrue,                                                  // Visible, Enabled
                                                      kAlignLeft, kEllipsizeEnd,kTrue,                    // Alignment, ellipsize style
                                                      kSampleDropDownEventsTextKey,                    // Initial text.
                                                      0                    // No associated widget
    SamplePrefListBox
                                                       SamplePrefDragDropScriptlistboxWidgetID, kSysOwnerDrawListBoxPMRsrcId,          // WidgetId, RsrcId
                                                      kBindAll,                                                                                                              // Frame binding
                                                      Frame(10, 35, 200, 120)                                                                                          // Frame
                                                      kTrue, kTrue,                                                                                                    // Visible, Enabled
                                                      1,0,                                                                                                                        // List dimensions
                                                      19,                                                                                                                                   // Cell height
                                                      1,                                                                                                                                   // Border width
                                                      kFalse,kTrue,                                                                                                    // Has scroll bar (h,v)
                                                      kTrue,                                                                                                                         // Multiselection
                                                      kTrue,                                                                                                                         // List items can be reordered
                                                      kTrue,                                                                                                                         // Draggable to new/delete buttons
                                                      kFalse,                                                                                                                         // Drag/Dropable to other windows
                                                      kTrue,                                                                                                                         // An item always has to be selected
                                                      kFalse,                                                                                                                         // Don't notify on reselect
                                                      k SamplePrefListElementRsrcID                                                                      // Fill list box with widgets with this ID (default is 0)
                                                                CellPanelWidget
                                                                          kCellPanelWidgetID, kPMRsrcID_None,                              // WidgetId, RsrcId
                                                                          kBindAll,                                                                                          // Frame binding
                                                                          Frame(-1,1,187,243)                    // Frame
                                                                          kTrue, kTrue                                                                                // Visible, Enabled
                                                                                    // ----- This is the CPanelControlData that holds the widgets
                                                                                    //                     that are items in the list box. They are not persistent
                                            ButtonWidget
      SamplePrefDragDropScriptAddBtnWidgetID,
                                            kSysButtonPMRsrcId,
                                            kBindNone,
                                            20, 125, 90, 145,
                                            kTrue, kTrue,
                                            kSampleAddScriptButtonTextKey,
                                            ButtonWidget
      SamplePrefDragDropScriptRemoveBtnWidgetID,
                                            kSysButtonPMRsrcId,
                                            kBindNone,
                                            100, 125, 180, 145,
                                            kTrue, kTrue,
                                            kSampleRemoveScriptButtonTextKey,
    Elements added:
    void SampleDialogController::PopulatePrefListElement()
    do
                        InterfacePtr<IPanelControlData> iPanelControlData(this, UseDefaultIID());
                        ASSERT(iPanelControlData);
                        if(!iPanelControlData) {CAlert::InformationAlert("IPanelControlData err");break;}
                        SDKListBoxHelper listHelper(iPanelControlData,kSamplePluginID, SamplePreflistboxWidgetID, kSampletDialogWidgetID);
                        IControlView * listBox = listHelper.FindCurrentListBox();
                        if(listBox == nil) {
                        CAlert::InformationAlert("listBox err");
                        break;
                        listHelper.EmptyCurrentListBox();
                        InterfacePtr<IListBoxController> listCntl(listBox,IID_ILISTBOXCONTROLLER);          // useDefaultIID() not defined for this interface
                        ASSERT_MSG(listCntl != nil, "listCntl nil");
                        if(listCntl == nil) {
                        CAlert::InformationAlert("IListBoxController err");
                        break;
                        //Addin the string to the listbox
                        const int targetDisplayWidgetId =SamplePrefOptionTextWidgetID;
                        listHelper.AddElement("General", targetDisplayWidgetId);
                        listHelper.AddElement("Fitting", targetDisplayWidgetId);
                          listHelper.AddElement("Events and Scripts", targetDisplayWidgetId);
                        listCntl->DeselectAll();
    }while(0);
    I dont know how to enable these three widgets in Indesign CC.please refer this code and help me if anyone has idea regarding this problem.
    Thanks in advance,
    Vimala L

    Hi,
    As per ur suggestion,i have done the below changes
    .fr file:
    type SamplePrefListBox
    (kViewRsrcType) : StdListBoxWidgetN
    (ClassID =  kStdListBoxWidgetNewBoss)
    Class
                        kSamplePrefListBoxWidgetBoss,
                         kStdListBoxWidgetNewBoss,
                                  IID_IOBSERVER,kSamplePrefListBoxObserverImpl,
    resource SampleDialogWidget (kSDKDefDialogResourceID + index_enUS)
              __FILE__, __LINE__,
              kSampleDialogWidgetID,                    // WidgetID
              kPMRsrcID_None,                                        // RsrcID
              kBindNone,                                                  // Binding
              0, 0, 700,400,                                        // Frame (l,t,r,b)
              kTrue, kTrue,                                        // Visible, Enabled
      kSampleDialogTitleKey,                    // Dialog name
              //<FREDDYWIDGETDEFLISTUS>
                        SamplePrefListBox
      SamplePreflistboxWidgetID,
                                  kSysOwnerDrawListBoxPMRsrcId,                                                            // WidgetId, RsrcId
                                  kBindAll,                                                                                                               // Frame binding
                                  Frame(15,15,170,360)                                                                                 // Frame
                                  kTrue, kTrue,                                                                                                     // Visible, Enabled
                                  kTrue,                                                                                                                         //Erase before draw
                                  kInterfacePaletteFill,                                                                                 //Interface color
                                  1,0,                                                                                                                         // List dimensions
                                  19,                                                                                                                                   // Cell height
                                  1,                                                                                                                                   // Border width
                                  kFalse,kTrue,                                                                                                     // Has scroll bar (h,v)
                                  kTrue,                                                                                                                         // Multiselection
                                  kTrue,                                                                                                                         // List items can be reordered
                                  kTrue,                                                                                                                         // Draggable to new/delete buttons
                                  kTrue,                                                                                                                         // Drag/Dropable to other windows
                                  kTrue,                                                                                                                         // An item always has to be selected
                                  kFalse,                                                                                                                         // Don't notify on reselect
                                  0,
                                  0,
                                  kFalse,                                                                                                                         // Display root node
                                  kFalse,                                                                                                                         //  Use Horizontal scroll bar
                                  kTrue,                                                                                                                         //  Use vertical scroll bar
                                  19,                                                                                                                                   //  Vertical scroll button increment
                                  1,                                                                                                                                   //  Vertical thumb scroll increment
                                  0,                                                                                                                                   //  Horizontal scroll button increment
                                  0,                                                                                                                                   // Horizontal thumb scroll increment
                                  1,                                                                                                                                   //  Items selectable 1 = Single selection
                                  kFalse,                                                                                                                         //  Allow children from multibler parents to be selected
                                  kTrue //,                                                                                                               //  Allow discontiguous selection
    I got error...,error R32745: # Error: Expected ')'
    SamplePrefListBoxObserver file:
    void SamplePrefListBoxObserver::AutoAttach()
              InterfacePtr<ISubject> subject(this, UseDefaultIID());
              if (subject != nil)
                        subject->AttachObserver(this, IID_ILISTCONTROLDATA);
    void SamplePrefListBoxObserver::AutoDetach()
              InterfacePtr<ISubject> subject(this, UseDefaultIID());
              if (subject != nil)
                        subject->DetachObserver(this, IID_ILISTCONTROLDATA);
    void SamplePrefListBoxObserver::Update(const ClassID& theChange,ISubject* theSubject,const PMIID &protocol,void* changedBy)
    do {
                                  InterfacePtr<IPanelControlData> iPanelControlData(this, UseDefaultIID());
                                  if(!iPanelControlData)
                                  {CAlert::InformationAlert("iPanelControlData err");break;}
                                  InterfacePtr<IWidgetParent> iWidgetParent(this, UseDefaultIID());
                                  ASSERT(iWidgetParent);
                                  if(!iWidgetParent)
                                  {CAlert::InformationAlert("iWidgetParent err");break;}
                                  InterfacePtr<IPanelControlData>          iPanelControlDataDialog(
                                  (IPanelControlData*)iWidgetParent->QueryParentFor(IID_IPANELCONTROLDATA) );
                                  if(!iPanelControlDataDialog)
                                  {CAlert::InformationAlert("iPanelControlDataDialog err");break;}
                                  InterfacePtr<IControlView> view(theSubject, UseDefaultIID()) ;
                                  if (view == nil)
                                  {CAlert::InformationAlert("Can't find the panel control view");break;}
                                  if (view->GetWidgetID() != SamplePreflistboxWidgetID)
                                            if(view->GetWidgetID() == SamplePrefDragDropScriptlistboxWidgetID)
                                                      this->DeSelectList(iPanelControlDataDialog,SamplePrefUpdateScriptlistboxWidgetID);
                                                      this->DeSelectList(iPanelControlDataDialog,SamplePrefImportScriptlistboxWidgetID);
                                                      this->DeSelectList(iPanelControlDataDialog,SamplePrefAutoFlowScriptlistboxWidgetID);
                                            else if(view->GetWidgetID() == SamplePrefUpdateScriptlistboxWidgetID)
                                                      this->DeSelectList(iPanelControlDataDialog,SamplePrefDragDropScriptlistboxWidgetID);
                                                      this->DeSelectList(iPanelControlDataDialog,SamplePrefImportScriptlistboxWidgetID);
                                                      this->DeSelectList(iPanelControlDataDialog,SamplePrefAutoFlowScriptlistboxWidgetID);
                                            else if(view->GetWidgetID() == SamplePrefImportScriptlistboxWidgetID)
                                                      this->DeSelectList(iPanelControlDataDialog,SamplePrefDragDropScriptlistboxWidgetID);
                                                      this->DeSelectList(iPanelControlDataDialog,SamplePrefUpdateScriptlistboxWidgetID);
                                                      this->DeSelectList(iPanelControlDataDialog,SamplePrefAutoFlowScriptlistboxWidgetID);
                                            else if(view->GetWidgetID() == SamplePrefAutoFlowScriptlistboxWidgetID)
                                                      this->DeSelectList(iPanelControlDataDialog,SamplePrefDragDropScriptlistboxWidgetID);
                                                      this->DeSelectList(iPanelControlDataDialog,SamplePrefUpdateScriptlistboxWidgetID);
                                                      this->DeSelectList(iPanelControlDataDialog,SamplePrefImportScriptlistboxWidgetID);
                                  if ((protocol == IID_ILISTCONTROLDATA) && (theChange == kListSelectionChangedByUserMessage) )
                                                      if (view->GetWidgetID() ==SamplePreflistboxWidgetID)
                                                                IControlView* generaltab = iPanelControlDataDialog->FindWidget(SamplePrefGeneralTabWidgetID);
                                                                if(!generaltab)
                                                                {CAlert::InformationAlert("generaltab err");break;}
                                                                IControlView* fittingTab = iPanelControlDataDialog->FindWidget(SamplePrefFittingTabWidgetID);
                                                                if(!fittingTab)
                                                                {CAlert::InformationAlert("fittingTab err");break;}
                                                                IControlView* scriptEventTab = iPanelControlDataDialog->FindWidget(SamplePrefScriptEventsTabWidgetID);
                                                                SDKListBoxHelper listHelper(iPanelControlData,kSamplePluginID, SamplePreflistboxWidgetID, kSampleDialogWidgetID);
                                                                IControlView * listBox = listHelper.FindCurrentListBox();
                                                                if(listBox == nil){CAlert::InformationAlert("listBox err");break;}
                                                                InterfacePtr<IListBoxController> listCntl(listBox,IID_ILISTBOXCONTROLLER);
                                                                if(listCntl == nil) {break;}
                                                                int32 Selindex = listCntl->GetSelected();
                                                                if(Selindex!=-1){
                                                                InterfacePtr<IPanelControlData> panelControlData1(listBox, UseDefaultIID());
                                                                if(!panelControlData1) {break;}
                                                                IControlView* cellPanelview = panelControlData1->FindWidget(kCellPanelWidgetID);
                                                                InterfacePtr<IPanelControlData> panelControlData2(cellPanelview, UseDefaultIID());
                                                                if(!panelControlData2) {break;}
                                                                IControlView* cellView = panelControlData2->GetWidget(Selindex);
                                                                InterfacePtr<IPanelControlData> panelControlData3(cellView, UseDefaultIID());
                                                                if(!panelControlData2) {break;}
                                                                IControlView* textView = panelControlData3->FindWidget(SamplePrefOptionTextWidgetID);
                                                                InterfacePtr<ITextControlData> cellText (textView, UseDefaultIID());
                                                                PMString selectedItem = cellText->GetString();
                                                                if(selectedItem=="General")
                                                                          generaltab->ShowView();
                                                                          fittingTab->HideView();
                                                                          scriptEventTab->HideView();
                                                                else if(selectedItem=="Fitting Options")
                                                                          generaltab->HideView();
                                                                          fittingTab->ShowView();
                                                                          scriptEventTab->HideView();
                                                                else if(selectedItem=="Events and Scripts")
                                                                          generaltab->HideView();
                                                                          fittingTab->HideView();
                                                                          scriptEventTab->ShowView();
              } while(0);
    void SamplePrefListBoxObserver::DeSelectList(IPanelControlData* iPanelControlData,WidgetID listBoxWidgetID)
    do
                        SDKListBoxHelper listHelper(iPanelControlData,kSamplePluginID, listBoxWidgetID, kSamplePanelWidgetID);
                        IControlView * listBox = listHelper.FindCurrentListBox();
                        if(listBox == nil) {
                        CAlert::InformationAlert("listBox err");
                        break;
                        InterfacePtr<IListBoxController> listCntl(listBox,IID_ILISTBOXCONTROLLER);          // useDefaultIID() not defined for this interface
                        ASSERT_MSG(listCntl != nil, "listCntl nil");
                        if(listCntl == nil) {
                        CAlert::InformationAlert("IListBoxController err");
                        break;
                        listCntl->DeselectAll(kTrue,kFalse);
    }while(0);
    please refer the above code and help me to develop the plugin.
    We have used the SDKListBoxHelper file in our plugin.If it works in Indesign CC?
    Thanks,
    Vimala L

  • Can anyone please advise how I 'enable' extensions in Safari 5.0.6. on an iBook G 4?

    Hi, can anyone please advise me how I  'enable' extensions in Safari 5.0.6. I have an iBook G4?
    and secondly,  is there anyway I can update from 10.5.8 Mac OSX on my iBook G4 ?
    I am a complete novice.
    Many thanks.
    thall3

    Try Safari > Preferences > Extensions
    Upgrade from v10.5.8 on an iBook G4? No. The next OS X up from v10.5 Leopard is v10.6 Snow Leopard.
    Requirements for Snow Leopard include an Intel procdessor. Your iBookG4 is PowerPC.
    Mac OS X v10.6 Snow Leopard - Technical Specifications

  • How to enable the EL in jsp page

    hi can u tell 'how to enable the EL in jsp page'?

    *I am getting below exception in tomcat when i inclued +<%@ page isScriptingEnabled="true" isELEnabled="true"%>+*
    org.apache.jasper.JasperException: /index.jsp(1,1) Page directive has invalid attribute: isScriptingEnabled
         org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
         org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
         org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:198)
         org.apache.jasper.compiler.JspUtil.checkAttributes(JspUtil.java:311)
         org.apache.jasper.compiler.Validator$DirectiveVisitor.visit(Validator.java:106)
         org.apache.jasper.compiler.Node$PageDirective.accept(Node.java:590)
         org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338)
         org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2388)
         org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2394)
         org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
         org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338)
         org.apache.jasper.compiler.Validator.validate(Validator.java:1700)
         org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:178)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
         org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

Maybe you are looking for

  • Crystal Reports Basic for Visual Studio 2008 - Export to PDF in arabic font space issue

    When exporting the crystal report having Arabic contents to PDF , space characters are replaced with " . Please find the attachment . Is there any way to sort out this issue??

  • ADF 11g: Possible to programatically set the pivot handle label ?

    Hi all, I am using JDev/ADF 11.1.1.3. I have a pivot table and I would like to dynamically set the pivot handle labels. The value needed for the label is another column in my view object. I tried 3 different approaches to no avail and I am running ou

  • DoSubmit in javascript

    I have a form in APEX, the html items are generated through HTP.P. On submit button, I capture the form values in javascript and submit the page, so that the PROCESS gets called to insert the captured data on the form. But the process never get calle

  • LSMW field relations and mappings

    Hi, In LSMW, I need to define multiple relationship to same structure, is that possible ,pls suggest. The mappings needs to be done in IDOC type PORDCR101, from one field in header structure and another from line-item structure comes from flat file a

  • Corrupt Digital booklet

    Hi, I have just purchased a couple of albums: 'Scissor Sisters - Ta Da' & 'Razorlight - Razorlight ' both came with Digital booklets which should be PDFs but for some reason they won't open. I went into the folder where they are stored and they show