ibmi-brunch-learn

Announcement

Collapse
No announcement yet.

SQLRPGLE and /Copy

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQLRPGLE and /Copy

    Hi,

    I made an sqlrpgle program then use a service program, then I made a /copy with the procedure exported by the service program and with all the constants and the external ds definition shared between program and service program.

    But the sql precompiler didn't find the external ds definitions.

    If I copy my definition into the sqlrpgle program it compiles.

    Why?
    Many thanks.

  • #2
    Hi, I probably found the error compilying with RPGPPOPT(*LVL2).

    My source are in the ifs, and they are fully free.

    Could it be possible then for an sqlrpgle source the maximum record length is still 112?

    I have some comment more long then 112...

    Do someone can confirm it?
    Many thanks.

    Bye

    Comment


    • #3
      Try /INCLUDE instead of /COPY and see if that makes a difference.

      Comment


      • #4
        The difference between /COPY and /INCLUDE is:
        /COPY: the SQL precompiler includes the content of the Copy Member, but per default it can only use a single nested copy member. If the copy memeber itself includes more (nested) copy members, the program/module must be compiled with the RPGPPOPT(*LVL2) option. With RPGPOPT (*LVL2) all nested copy members are unnested and considered.
        /COPY should be used if the copy member includes something that is used in composition with SQL (for examples: Host variable definitions or file reference definitions

        /INCLUDE: the SQL precompiler ignores the content of the copy member.
        /INCLUDE should be used for all information that is not used from within SQL statements (for examples: Prototypes)

        Birgitta

        Comment

        Working...
        X