IBM Support

PK66671: RATIONAL COBOL RUNTIME V6.0.1: STRLIB.FORMATNUMBER() SYSTEM FUNCTION RETURNS INCORRECT FORMATTED STRING

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Rational COBOL Runtime V6.0.1 + PTF UK34778 (Rational Business
    Developer 7.1 support:
    
    When an EGL program is generated using Rational Business
    Developer V7.1, and the COBOL program is run on z/OS, the
    strLib.formatNumber() system function returns incorrect
    formatted strings.
    
    The following is an example of an EGL program that has this
    problem:
    
    program TestFormatNumber type BasicProgram
       {
         alias = "TSTFNUM",
         allowUnqualifiedItemReferences = yes,
         includeReferencedFunctions = yes
       }
    
       dec1 decimal(1);
       dec3 decimal(3);
       chr1 char(1);
       chr3 char(3);
    
     function main()
      SysLib.writeStdout("Start TestFormatNumber");
    
      dec1 = 0;
      dec3 = 0;
    
      chr1 = StrLib.formatNumber(dec1, "#");
      if (chr1 == " ")
       SysLib.writeStdout("OK. chr1 is \"" + chr1 + "\"");
      else
       SysLib.writeStdout("Error. chr1 is \"" + chr1 + "\" but \" \"
    was expected");
      end
    
      chr3 = StrLib.formatNumber(dec1, "###");
      if (chr3 == " ")
       SysLib.writeStdout("OK. chr3 is \"" + chr3 + "\"");
      else
       SysLib.writeStdout("Error. chr3 is \"" + chr3 + "\" but \"
    \" was expected");
      end
    
      SysLib.writeStdout("End TestFormatNumber");
     end
    end
    
    This problem occurs when the COBOL is generated for ZOSBATCH and
    ZOSCICS.  It does not occur using the EGL debugger.
    
    Here are the incorrect results:
    
      Start TestFormatNumber
      Error. chr1 is "0" but " " was expected
      Error. chr3 is "  0" but "   " was expected
      End TestFormatNumber
    

Local fix

  • A temp fix is available from support.
    

Problem summary

  • If a user specifies a pattern with
    only #'s, then a value of 0 was
    producing a formatted value of 0
    instead of all spaces
    

Problem conclusion

  • Runtime module updated to give all spaces in this circumstance
    

Temporary fix

Comments

APAR Information

  • APAR number

    PK66671

  • Reported component name

    RATL COBOL RT Z

  • Reported component ID

    5655R2900

  • Reported release

    601

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2008-05-27

  • Closed date

    2008-06-06

  • Last modified date

    2008-08-29

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    RATL COBOL RT Z

  • Fixed component ID

    5655R2900

Applicable component levels

  • R038 PSY

       UP

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSN27B","label":"Rational COBOL Runtime for zSeries"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
29 August 2008