Saltar al contenido principal

@STORE variable conflicts

Respondida

Comentarios

8 comentarios

  • Comentario oficial
    Yaremi Miranda Lopez

    Hello Chris,

    You can declare additional variables using this syntax: 

    DECLARE @STORE999;

    @STORE999 = 1;

    You will find this inormation in our guide for understanding Macro Conditional Commands =)

    https://support.boyum-it.com/hc/en-us/articles/204284198-Guide-Understanding-Macro-Conditional-Commands

     

  • Chris Best

    Thank you Yaremi!. You should add this ability to the B1UP Manual (https://support.boyum-it.com/hc/en-us/articles/219840127-B1UP-Manual)

     

    Chris

  • Ed ODonnell

    You should also add to the manual - What is the scope of the variables? I thought the @STORE variables were local to the function, but maybe that is not true?

  • Ed ODonnell

    What are the variable naming requirements? Does it have to be "@STORE" + a number, or are other characters allowed?

  • Rasmus Jensen

    Hi Ed, Thank you for your feedback and sorry for the confusing. 

    @STORE values have evolved a lot over the years in where they could be used and what they could be called. I've fixed the mistake in the manual now and it will go online for next version.

    But here is the short version:

    • You have 999 stores to work with STORE1 to STORE999
    • You can in Transfers write as just STOREx but if used in Macro conditions they need to have the @ (@STORE1 to @STORE999) so we recommend to always write them as @STOREx
    • Values in @STOREx persist over a macro's lifetime so you can set it in one macro and consume it in another (this allow for more advanced scenarios)
    • You, unfortunately, can't make your own stores and give them other names. We actually tried to implement such a such but in the process, we saw that if we added it could potentially break older Macro's written so we decided against it.
  • Julie Jamieson - Business Evolution

    Hi Rasmus,

     

    Do you need to clear / empty the stores after use in case of conflict with other processes, and if so, how is that done?

     

    Thanks

     

    Julie

  • Thomas

    Hi Julie,

    It's not mandatory to clear any variables, but the values will stay in the variables as long as B1UP is running. If you need to clear any variables, just do:

    @STORE1 = '';

    @STORE2 = '';

    etc.

    If you want to be on the safe side, you can empty all variables used at the start of the macro.

    Best regards,

    Thomas

  • Dave Gutman

    Hi Alex,

    This can be done using the B1UP SQL function.  B1UP interprets the function's argument as SQL code.  For example:

    @STORE1 = SQL(SELECT LastPurPrc FROM OITM WHERE ItemCode LIKE '[$38.14.0]');

Iniciar sesión para dejar un comentario.