[UPDATE 0.5] ScriptsRepo – Deploy Tool for SAP Sourcing Scripts
[UPDATE] Release version 0.5
- Maintain and deploy Explicitly Called Scripts (V10 and above)
- Maintain and deploy all Script Definitions (including inactive)
- New configuration properties ESO_VERSION and DEPLOY_INACTIVE
- Some internal updates – see full changelog below or dig through source code
How to update
- Simply replace old jar with new version, and execute the initialization step (run with –import).
- Existing config.properties file is not impacted. Program will add new configuration options to it automatically.
ScriptsRepo is a free and open source application for deploying script definitions to SAP Sourcing. It is designed to aid to the development of SAP Sourcing scripts in a controlled and collaborative process. ScriptsRepo is closely integrated with git and makes use of the powerful commit-hash for versioning scripts.
Once you’ve gone through this document all you’ll ever need to do to get your script definitions into SAP Sourcing system is to run a simple command:
- java -jar scriptsrepo-0.5.jar –deploy
- latest release 0.5 or (direct download)
- source code: GitHub – bogdan-toma/scriptsrepo: Automatic deploy tool for SAP Sourcing scripts
- tutorial: (TODO – delayed)
Note: this document is intended as a placeholder for the release management and high-level detail of the application. If you are not comfortable with the details below please go through the tutorial provided.
- Scripts maintained locally, as recommended in: SAP Sourcing scripts – editing and source control maintenance .
- File name should be script’s EXTERNAL_ID, plus your desired file extension.
- SFTP access to your SAP Sourcing (DEV) application server
- 4 (four) directories created on SAP Sourcing app server (to be used for Data Import Scheduled Task)
- /…/Data (notice the extra folder, this is not directly used by the SchedTask)
- Data Import Scheduled Task configured on the Upload/Queue/Archive directories above (set it at high frequency, 1 or 2 minutes)
Installation & Usage
- Download the app using the link above for latest release.
execute this step at first usage and every time your script metadata changes (eg. adding new scripts or inactivating old scripts) – in plain words, if you manually change anything other than the script code in SAP Sourcing, you’ll need to re-import.
- Extract an .oma file with all script definitions (save it as allscripts.oma in the same directory as the jar)
- easiest way – use export option Object List and select FCI-ScriptDefinition-OML
- Open Command Prompt (on Windows), Terminal (on Mac/Linux), navigate to the download directory and execute
- java -jar scriptsrepo-0.5.jar –import
the initialization process above will generate a config.properties file at the first usage in the same directory (if the file already exists, it will not be overwritten)
- config.properties options
- GIT >> (If git is used as SCM. The app will set the script version to the GIT commit hash.)
- LOCAL >> (If no SCM used, only local files. The tool will set script version as the last modify date of the script local file.)
- REPOSITORY_DIR >> Location of script files. (on windows use forward-slash for directory separation)
- REPOSITORY_FILE_ID >> DEPRECATED (script’s local file should use EXTERNAL_ID+ desired file extension)
- DATA_FILE_EXTENSION >> Extension used for script files. (eg .java or .bsh)
- ESO_DATA_DIR >> ‘Data’ directory on SAP Sourcing app server – from prerequisites (where to publish script data files)
- ESO_UPLOAD_DIR >> ‘Upload’ directory on SAP Sourcing app server – from prerequisites (where to publish script import medatada xml)
- ESO_VERSION >> SAP Sourcing major release number (eg 10)
- DEPLOY_INACTIVE >> Controls whether or not to also deploy inactive scripts (true or false)
- DUMMY >> Test protocol, doesn’t do transport. Displays resulting metadata xml to console.
- SFTP >> SSH File Transfer protocol
- HOST >> SSH host – irrelevant when TRANSPORT_PROTOCOL is DUMMY
- PORT >> SSH port
- USER >> SSH username
- PASS >> SSH password
execute the deploy action whenever you want to publish your local scripts to SAP Sourcing. ScriptsRepo app will handle the rest.
- java -jar scriptsrepo-0.5.jar –deploy
I am interested in hearing your comments, ideas, hints, questions, code contributions, anything that you could think of.
I’m planning to keep this project active, at least for making my life a lot easier implementing SAP Sourcing enhancements.
Some things are missing, and could be enhanced
- Exception handling mechanism
- replace ugly stacktraces
- Workflow Scripts
- no option yet to import
- Enabled processing Explicitly Called Scripts (CLM V10 and above)
- Added new configuration property ESO_VERSION
- Implemented config.properties file integrity auto-check
- Implemented processing inactive scripts
- Added new configuration property DEPLOY_INACTIVE
- Refactored script metadata storage – XML data binding model
- Deprecated REPOSITORY_FILE_ID property – default to index EXTERNAL_ID
- Initial release
ScriptsRepo is created and maintained by Bogdan Toma and is released under GPLv3.