·         F is the alphabetic code used for Control Specification. It is used to define the controlling entity of the program e.g. date/ time format, default program name, program as PEP, to define the decimal precision etc. 

·         It is also used to define the compiler options to be used while we are compiling the program.

e.g. default activation group, authority, compiler source generation options etc.


To prompt H SPEC given the line command: IPH


Prompt type . . .    H      Sequence number . . .  '''''''                         
     ___________________________________  >>>>> multiple keywords can be written here



Ü  H SPEC Keywords


o   DEBUG (*Yes)   

Use this keyword to indicate whether or not to perform DUMP operations in your RPG program. The default is *NO, which means DUMP operations will not be performed. If you have an error handler that uses the DUMP op-code, you should specify DEBUG(*YES) in your H-spec.


o   DATEDIT (*DMY)  



As of V4R5, below are the options available:


*{NO}XREF:          Determines whether or not to create a cross-reference listing when the module is compiled.

*{NO}GEN:            Determines whether or not to generate a compiled object.

*{NO}SECLVL:     Sets the level of message displayed on compile listing.

*{NO}SHOWCPY: If *NOSHOWCPY is specified, /copy members are not expanded in the compile listing. 

                                This may be useful if you have a large copy member that defines many procedure



*{NO}EXPDDS:     If *NOEXPDDS is coded, externally defined data will not be expanded in the compile



 The two most useable options however are still probably *{NO}SRCSTMT and *{NO}DEBUGIO.


*{NO}SRCSTMT:  If *NOSRCSTMT is coded or this statement is excluded (*NOSRCSTMT is the default),       statements will be re-numbered when compiling the program.  If your program gets a run-time error, the statement indicated will be virtually useless unless you have a copy of compile.  *SRCSTMT will prevent the compiler from renumbering the program's statements. 


*{NO}DEBUGIO:  If you use the interactive source debugger to step through a program, you'll notice that the debugger will break many times on every I/O statement.  This is because a separate breakpoint is inserted for every field returned from the I/O buffer.  This is not a major problem, and very inconvenient.  Coding *NODEBUGIO will break only once for each I/O statement.




Specify this keyword to define the default format for date fields within the program.                    


Choose one of the following date formats:           

    *MDY (mm/dd/yy)                                 

    *DMY (dd/mm/yy)                                 

    *YMD (yy/mm/dd)                                 

    *ISO (yyyy-mm-dd)                                

    *USA (mm/dd/yyyy)                               

    *EUR (dd.mm.yyyy)                               


e.g.    H  datfmt(*MDY)                        

    By default FMT will be *ISO.



Choose one of the following time formats:      

  *HMS (hh:mm:ss)                            

  *ISO (hh.mm.ss)                            

  *USA (hh:mm AM or hh:mm PM)                

  *EUR (hh.mm.ss)          


  By default FMT will be *ISO.                 


o   ACTGRP (*NEW | *CALLER | 'activation-group-name')

If ACTGRP(*NEW) is specified, then the program is activated into a new activation group. If ACTGRP(*CALLER) is specified, then the program is activated into the caller's activation group. If an activation-group-name is specified, then that name is used when this program is called.


H datedit(*YMD) datfmt(*ISO) option(*SRCSTMT *NODEBUGIO)





    Specify this keyword to indicate that this module does not contain a main (program-entry) procedure.                                    


o   AUT (*LIBRCRTAUT | *ALL | *CHANGE | *USE | *EXCLUDE | 'authorization-list-name')


The AUT keyword specifies the authority given to users who do not have specific authority to the object.


o   BNDDIR ('library-name/binding-directory-name')


We can mention the bind directory name here that is to be used at the time of compilation.

User Comments:

Copyright © www.go4as400.com, 2013-2023. Copyright notice   Terms of services   Privacy policy