Question Regarding Pre-processor

Hi All,
I found below code snippet in one of the program. I do not understand the purpose of using "{&GLTRMTA-P-TAG4}". Even this per-porcessor is not defined anywhere. Could you some tell me the purpose of usng this ? Thank You.

Code:
CREATE glt_det. glt_det.glt_domain = global_domain.
         ASSIGN
            glt_ref         = ref
            glt_rflag       = FALSE
            glt_line        = linenum
            glt_entity      = entity
            glt_tr_type     = tr_type
            glt_date        = transdate1
            {&GLTRMTA-P-TAG4}
            glt_batch       = transbatch1
            glt_effdate     = eff_dt
            glt_userid      = global_userid
 
Copied from "STD-0240" Localization tags:

Description


Localization Tags

By using pre-processor directives, "localization tags", can be dropped into MFG/PRO code that are not "turned on"

in the MFG/PRO baseline code. The localization offices can insert these tags in the MFG/PRO baseline before a

major release, and then by adding pre-processor global defines to a standard include file (post release), turn on the

modifications/customizations/localizations for their customers.

The methodology is to insert pre-processor tags that are "empty" because they are undefined in standard product.

The modified code must also include a standard include file, cxcustom.i, that is shipped empty. The localization

office then edits that file, adding pre-processor global-define's for the customization they want to "turn on". It is

hoped that most localizations can be accommodated with this scheme. Where it can't, the localization office will

have to resort to invasive changes as before.

This standard describes:

Standard form of a Localization Tag

How to reserve a Localization Tag

The localization control include file
 

Cringer

ProgressTalk.com Moderator
Staff member
Just to be on the safe side

&message {&GLTRMTA-P-TAG4}

in your code and compile. That way you'll see if it has a value or not.
 

Cringer

ProgressTalk.com Moderator
Staff member
So yes you can remove it from the code, but if the vendor decides to use the preprocessor for something in a future release you won't be able to make use of it at this point.
 

RealHeavyDude

Well-Known Member
Please don't get me wrong - but, why do you want to remove that code? Does it do any harm?

Nevertheless preprocessor variables are resovled at compile time and you can use them for different purposes. They may be used to conditionally compile, hold executeable statements or just - like I mostly make use of them - constants.

I don't know anyhting about the product you are using, but I'll take it that the vendor of the code did put it in for a reason. I would get in touch with the vendor to ask them what it is used for before I removed it - even if it doesn't hold any value. It probably gets defined in some general include file when a specific feature is enabled.

Heavy Regards, RealHeavyDude.
 
Top