project BLF > class BFcTranslation > method GetFcTranslationByFilter


Parameters


tFcTranslationFilterResultoutputtemp-table
iiStringNumberinputinteger
icStringTextinputcharacter
icProjShortCodeinputcharacter
icBusinessClassinputcharacter
icLanguageCodeinputcharacter
icOriginalStringinputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


unused


program code (program3/bfctranslation.p)

assign oiReturnStatus = -98.

empty temp-table tFcTranslationFilterResult.
if icLanguageCode = ? or trim(icLanguageCode) = '':U
then do:
    <M-97 run SetMessage
       (input  #T-37'Please enter a valid language code.':255(706455379)T-37# (icMessage), 
        input  ? (icArguments), 
        input  ? (icFieldName), 
        input  ? (icFieldValue), 
        input  'E':U (icType), 
        input  3 (iiSeverity), 
        input  ? (icRowid), 
        input  'blf-943570':U (icFcMsgNumber), 
        input  ? (icFcExplanation), 
        input  ? (icFcIdentification), 
        input  ? (icFcContext), 
        output viFcReturnSuper (oiReturnStatus)) in BFcTranslation>
        if viFcReturnSuper <> 0
        then oiReturnStatus = viFcReturnSuper.
        if viFcReturnSuper < 0
        then return.
    assign oiReturnStatus = -1.
    return.
end.

if (icStringText = ? or trim(icStringText) = '':U)
    and (icOriginalString = ? or trim(icOriginalSTring) = '':U)
    and (iiStringNumber = ? or iiStringNumber = 0)
then do:
     <M-95 run SetMessage
        (input  #T-13'Please enter at least one of the search criteria Text Number, Current Text or Original Text.':255(62674883)T-13# (icMessage), 
         input  ? (icArguments), 
         input  ? (icFieldName), 
         input  ? (icFieldValue), 
         input  'E':U (icType), 
         input  3 (iiSeverity), 
         input  ? (icRowid), 
         input  'blf-234421':U (icFcMsgNumber), 
         input  ? (icFcExplanation), 
         input  ? (icFcIdentification), 
         input  ? (icFcContext), 
         output viFcReturnSuper (oiReturnStatus)) in BFcTranslation> 
          if viFcReturnSuper <> 0 
          then assign oiReturnStatus = viFcReturnSuper.
          if viFcReturnSuper < 0
          then return.
    assign oiReturnStatus = -1.
    return.
end.

<Q-35 run GetFcTranslationByFilter (all) (Read) (NoCache)
   (input iiStringNumber, (StringNumber)
    input icStringText, (StringText)
    input ?, (ProjShortCode)
    input ?, (BusinessClass)
    input icLanguageCode, (LanguageCode)
    input icOriginalString, (OriginalString)
    output dataset tqGetFcTranslationByFilter) in BFcTranslation>

for each tqGetFcTranslationByFilter:
    create tFcTranslationFilterResult.
    buffer-copy tqGetFcTranslationByFilter to tFcTranslationFilterResult.
    assign tFcTranslationFilterResult.tcInitString = tFcTranslationFilterResult.tcTranslationStringText.
    if tqGetFcTranslationByFilter.tlTranslationIsUpdatedByUser = false
    then do:
        assign tFcTranslationFilterResult.tcTranslationOriginalTextString  = tFcTranslationFilterResult.tcTranslationStringText.
    end.
    else do: 
        assign tFcTranslationFilterResult.tlTranslationIsUpdatedByUser = true.
    end.
    
    if tqGetFcTranslationByFilter.tcBusinessClass <> ? and tqGetFcTranslationByFilter.tcBusinessClass <> '':U
    then do:
        <Q-4 run BusCompByCodeForFcTranslation (all) (Read) (NoCache)
            (input tqGetFcTranslationByFilter.tcBusinessClass, (BusComponentCode)
             output dataset tqBusCompByCodeForFcTranslation) in BBusinessComponent>
        find first tqBusCompByCodeForFcTranslation no-error.
        if available tqBusCompByCodeForFcTranslation
        then do:
            assign tFcTranslationFilterResult.tcBusComponentCategory     = tqBusCompByCodeForFcTranslation.tcBusComponentCategory
                   tFcTranslationFilterResult.tcBusComponentLabel        = tqBusCompByCodeForFcTranslation.tcBusComponentLabel.
        end.
    end.
end.

if oiReturnStatus = -98
then oiReturnStatus = 0.