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
SheldonTo 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 shutI 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
inserviceSorry 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,
-Senthilsharon38_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!!
HELPHi,
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
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 PMHi 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 LHi,
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 -
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.
thall3Try 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
-
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
-
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