cancel
Showing results for 
Search instead for 
Did you mean: 

How to make an engine command file not encrypted?

Former Member
0 Kudos

Hi everybody,

Using Data Services Management Console I'm exporting executing commands for a job with parameters inserted through global variables.

I obtain 2 files:

  • NORM_PRUEBA.bat: Calls AL_RWJobLauncher.exe and uses the engine command file
  • NORM_PRUEBA.txt: The engine command file encrypted


However, I would like to obtain a engine command file (the second one) not encripted to be able to change the content of the global variables directly in the file not doing a new exportation if the values change.


The contents of the files are:


NORM_PRUEBA.bat


    • "C:\Program Files (x86)\SAP BusinessObjects\Data Services\bin\AL_RWJobLauncher.exe" "C:\ProgramData\SAP BusinessObjects\Data Services/log/JobServer_1/" -w "inet:WIN-EBV4N8RMEJK:3500"  -C "C:\ProgramData\SAP BusinessObjects\Data Services/log/NORM_PRUEBA.txt"


NORM_PRUEBA.txt


    • -PLocaleUTF8 -R"Repo_WIN-EBV4N8RMEJK.txt"  -G"c7b4f601_0ac3_4acc_83f1_5594a0331d20" -t5 -T14 -KspSystem_Config_Desa -LocaleGV -GV"$RutaFichero=J0M6XFVzZXJzXEFkbWluaXN0cmF0b3JcRGVza3RvcF" -GV"xKQUNcQ09SUl9NQU5URU5JTUlFTlRPX1Y0XFZFUlNJw5NOIDRcMDRfU" -GV"FJVRUJBUyc;$NombreFich_In=J1BydWViYV9SYXBpZGEudHh0Jw;$T" -GV"ipo_Fichero=MQ;$Tipo_Resto=MQ;"   -CtBatch -CmWIN-EBV4N8RMEJK -CaAdministrator -CjWIN-EBV4N8RMEJK -Cp3500


If I try to change manually the content of global varianles in file NORM_PRUEBA.txt, the execution of the script give me the error:


(14.2) 01-07-16 17:50:01 (E) (14704:9108) PAR-305010: |Session NORM_Correos_v3_0

  The data <'C:\Users\Administrator\Desktop\JAC\CORR_MANTENIMIENTO_V4\VERSION 4\04_PRUEBAS'> is invalid. Use the AL_Encrypt

  utility to encode substitution variable and global variable data prior to adding them to the Data Services job command line.


What do I have to change in the engine command file to be able to insert the values not encrypted? (Or can I set it from the Export Execution Command in Data Services Management Console?)


Also, what do the following arguments in the command file mean?:


  • -G"c7b4f601_0ac3_4acc_83f1_5594a0331d20"
  • -t5
  • -T14


Thanks and best regards

Accepted Solutions (1)

Accepted Solutions (1)

former_member187605
Active Contributor
0 Kudos

It's not possible to have the values unencrypted. That's a "feature" introduced in DS 4.0.

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Dirk,

I think that the "al_engine" executable is not related to this.

When I said "engine command file" I meant the file which contains the command line arguments to be sent to the engine  that is used by the "AL_RWJobLauncher.exe".

If you run AL_RWJobLauncher.exe with no parameters:


AL_RWJobLauncher.exe ["inet addr"] ["server log path"] [-w] [-s] [-t] [-v] [-C] [-S]

  "inet addr" : inet address (in quotes). For example: "inet:foo:3010".

  "server log path" : Path to log directory for server (in quotes).

  -w : Execute the job and wait for it to complete.  The -s option (below) is implicitly included.

  -tnnn : nnn = The time in milliseconds that the Job Server waits before checking a job's status.

  -s : Return exit status of the last job executed (unless server error, then return status of request).

         Note: Combine -w, -s, and -t to execute the job, wait for completion and return the status.

  -v : Print AL_RWJobLauncher version number

  -S "server group" : Lists the server group and Job Servers it contains using the following syntax:

         "server group name;server name:server host:server port[;server name:server host:server port][...]"

  -C "file name" : Name of the engine command file (path to a file which contains the command line arguments to be sent to the engine).

But, altho it mention the "-C" to add the engine command file, it doesn't say how to fill it, that's why I don't know how to add the "-GI" swicth. Because just adding it, the scripts fails.

Thanks and Regards

former_member187605
Active Contributor
0 Kudos

Sure, I know what you mean. You don't seem to  understand.

The parameters you posted are  the ones for  AL_RWJobLauncher.exe. They go into the .bat file. The Job Launcher spawns the al_engine processes and passes on the parameters from .txt file. These are the ones I've attached to my post.

And you're right, the -GI switch is not there. I have no clue where it comes from.

former_member106536
Active Participant
0 Kudos

If you're having issues, you may want to test with a simple string substitution containing no special characters.  (it looks like you have some unbalanced single quotes going on)

-no_dq_capture -xCR -LocaleGV -GI -GV"$GV_InputFileName" -GV"='C01907_WS10001_mp.txt';"  -CSV"$$CustListRetrn=2016/01/08;$$CustPAF

Start small.  When I first did this I used a job containing only a script with a print statement, printing the contents of the global variable.  Figure out what works and build from there.  If you try to do to much without figuring out the syntax, you're going to get frustrated pretty quick. 

Former Member
0 Kudos

Thanks both for the answers.

Joshua, I've tried to use the "-GI" switch, but I think I'm not using it in the right way.

NORM_PRUEBA.txt


    • -PLocaleUTF8 -R"Repo_WIN-EBV4N8RMEJK.txt"  -G"c7b4f601_0ac3_4acc_83f1_5594a0331d20" -t5 -T14 -KspSystem_Config_Desa -LocaleGV -GI -GV"$RutaFichero='C:\Users\Administrator\Desktop\JAC\" -GV"CORR_MANTENIMIENTO_V4\VERSIÓN 4\04_PRUEBAS';" -GV"$NombreFich_In='Prueba_Rapida.txt';" -GV"ipo_Fichero=1;$Tipo_Resto=1;"   -CtBatch -CmWIN-EBV4N8RMEJK -CaAdministrator -CjWIN-EBV4N8RMEJK -Cp3500

When I launch the *.bat file, the job aborts.

The Trace Log shows me the following:

  • Error parsing document (line -1, col -1, in SOAP-message)

And the Job Error Log:

(14.2) 01-08-16 08:41:01 (E) (15180:2936) RUN-050316: |Session NORM_Correos_v3_0

  Script <Test_Fichero> is terminated due to error.

(14.2) 01-08-16 08:41:01 (E) (15180:2936) RUN-050304: |Session NORM_Correos_v3_0

  Function call <raise_exception ( Script <Test_Fichero> is terminated due to error. ) > failed, due to error <50316>: <Script

  <Test_Fichero> is terminated due to error.>.

(14.2) 01-08-16 08:41:01 (E) (15180:2936) RUN-053008: |Session NORM_Correos_v3_0

  INFO: The above error occurs in the context <|Session NORM_Correos_v3_0|3 Else Step Body|1 Else Step Body|1 If Step

  body|raise_exception(...) Function Body|>.

(14.2) 01-08-16 08:41:01 (E) (15180:2936) RUN-050316: |Session NORM_Correos_v3_0

  Script <Test_Fichero> is terminated due to error.

Also, is there any piece of documentation where they explain what every argument means in the engine command file and how to fill it manually? (In the Tech Manual they don't explain it).

Thanks again and regards

former_member187605
Active Contributor
0 Kudos

If you run al_engine without parameters, it displays the usage. See attached file.

former_member106536
Active Participant
0 Kudos

It doesn't really matter if they come out encrypted or not.  You're going to overlay them anyways.

If you use the -GI switch, you should be able to populate the raw string into the global/subst variables, without encrypting them first.  You can also call the encrypt.exe from outside of DS to encrypt and substitute.

-xCR -no_dq_capture -LocaleGV -GI -GV"$GV_InputFileName=&&FileName;" -CSV"$$CustListRetrn=&&CustListRetrn;$$CustPAF=&&CustPAF"

It could also be easier to use the real-time service to launch the job, which would immunize you from SAP making changes to the export execution commands.  Issue with this of course is that you get the return code back from the real-time call and not the job itself.  If you're dynamically scheduling using a 3rd party scheduler ... the return code is pretty vital.