project BLF > class Cacher > method GetTranslationForObject
Description
Lookup the actual translation of a translatable business field for one specific business object.
Parameters
icLanguageCode | input | character | |
iiParentObject_ID | input | integer | |
icFieldName | input | character | |
ocTranslation | output | character | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
BLF
program code (program1/cacher.p)
define buffer bLng for Lng.
define buffer bTranslationString for TranslationString.
for each bLng fields (Lng_ID LngCode) no-lock where
bLng.LngCode = icLanguageCode,
first bTranslationString fields (ParentObject_ID Lng_ID TranslationStringText) no-lock where
bTranslationString.ParentObject_ID = iiParentObject_ID and
bTranslationString.Lng_ID = bLng.Lng_ID on error undo, throw:
if icFieldName <> ""
then do viFieldCount = 1 to num-entries(bTranslationString.TranslationStringText,"|") - 1 by 2:
if entry(viFieldCount,bTranslationString.TranslationStringText,"|") = icFieldName
then do:
ocTranslation = entry(viFieldCount + 1,bTranslationString.TranslationStringText,"|").
return.
end.
end.
ocTranslation = bTranslationString.TranslationStringText.
end.