h3. Introduction This last weekend I was in that awful situation where I (+thought+) had great J2EE-things in my mind to write-once and run-anywhere (do you remember? 😉 Yes, but run +where+? In order to do that I absolutely had to deploy to an XI machine, my standalone local J2EE server not being enough this time. And the only XI box I could easily was via Citrix client. So I growled and grunted for a while, looking for a way to satisfy my J-wishes, and here’s the solution. h3. Assumptions In your Citrix session you +don’t have+(otherwise no need to read on!): 0.1. 0.2. NetWeaver Developer Studio 0.3. 0.4. SDM Remote GUI 0.5. In your Citrix session you +have+: 0.1. 0.2. SAPGui 0.3. In general, you +have the ability+ to: 0.1. 0.2. move a file to the XI box application server, be that ftp or whatever (see below my solution) 0.3. 0.4. permissions to run trx SM69 and SM49. 0.5. h3. The Solution So you have your .ear file to deploy, ready in a local directory of your PC. Connect to your Citrix session, start the SAPLogon and logon to the XI box. In my case (I assume it’s a common behaviour) Citrix maps my local drives on some remote drive letters (e.g. my local C:\ gets V:\ in my Citrix session). So how do I move my .ear to XI applciation server? I use ftp via SAPGui. (Please note that this method is not mandatory: if you have an easier way to do it, why not?) With trx SE38, run report RSFTP005 and check that RFC destination SAPFTP and SAPFTPA are configured (if not, the report will do the job for you). For your info: everything turns around the SFTP std function group and a couple of useful std reports. SAPFTP is an RFC destination ponting to an ftp command line client (called sapftp.exe on Win32) on the frontend, while SAPFTPA points to the same executable on the application server. Again in SE38 trx, we now need to exploit report RSFTP002 to comfortably execute an ftp command (max 3 commands). Here’s a screenshot of my selection screen. Everything should run smoothly, and you should find your .ear file on XI application server under /tmp (check it with trx AL11). Now the really tricky part. How to deploy? Using the SDM command line interface (see this SAP documentation (http://help.sap.com/saphelp_nw2004s/helpdata/en/3c/52413e7bcd561ee10000000a114084/content.htm) for details), appropriately driven. So, having no telnet access, I configured some commands with trx SM69. How to create commands here is quite simple to guess (have a look at this SAP Documentation (http://help.sap.com/saphelp_nw2004s/helpdata/en/c4/3a6047505211d189550000e829fbbd/content.htm) anyway for further details). These commands can be executed with trx SM49. Here’s a screenshot of the list of commands I have configured. Just remember to set the +Additional Parameters Allowed +flagged on the ZDEPLOY command; you can safely unflag it on other commands.