Skip to content

IBM i Conformance Results

github-actions[bot] edited this page Oct 27, 2026 · 42 revisions

IBM i Conformance Results

Generated by the IBM i conformance workflow (scripts/conformance-wiki.py) after each run. Do not edit this page by hand; it is overwritten.

Every test program in the repository is compiled with IBM's own ILE RPG compiler on a real IBM i — CRTBNDRPG, CRTSQLRPGI for embedded SQL, CRTRPGMOD for modules. This page lists which programs IBM compiled and which it did not, with IBM's reason. Programs are compiled, not run: IBM i Execution Results shows what they do when run.

Compatibility rating

90.1%

rpgc does the same thing as IBM i's compiler with 426 of 473 programs: both compile it, or both reject it.

What this rating means: it measures the RPG that OpenRPG implements, as exercised by the test programs in this repository. It is not a claim that OpenRPG supports that share of IBM i RPG. Features OpenRPG does not have yet have no test programs, so they are not in the count.

Programs
Both compile 290
Both reject 136
rpgc compiles, IBM i rejects 45
IBM i compiles, rpgc rejects 2

A shared rejection counts as agreement: most are negative tests, written to be rejected. Where the two differ, rpgc is either more lenient than IBM i (a gap to close) or refuses valid RPG it does not support yet; the table below marks each program's result from both compilers.

Page generated 2026-10-27 19:06 UTC
Run mode changed — only programs changed since their last compile were sent; the others show their most recent result
Source verified ba0cc13
Workflow run 40565283388

Summary

Compiled on IBM i Did not compile Total
Should compile 292 0 292
Should be rejected 0 181 181
Total 292 181 473

473 of 473 programs behave as expected on IBM i. The other 0 are marked ⚠️ below: a program that should compile but did not is either RPG that OpenRPG accepts and IBM does not, or a test that needs something only a real IBM i has (database files, data areas); one that should be rejected but compiled is a test IBM finds valid.

Should compile comes from how each test is registered: a test run in error mode is written to be rejected, every other program should compile. The exceptions, with their reasons, are in tests/ibmi-expected.txt.

Why programs did not compile

Reason Programs
RNF0604: The token is not valid; token is ignored. 18
RNF5377: The end of the expression is expected. 11
RNF0637: An operand was expected but was not found; specification is ignored. 9
Undefined name, cause not reported by IBM (RNF7030) 7
RNF0274: Compiler directive not recognized; directive ignored. 6
RNF5347: An assignment operator is expected with the EVAL operation. 6
RNF3308: Keyword name is not valid; the keyword is ignored. 5
RNF5063: Factor n operand must not be an externally described file for this operation. 4
Qualified reference (ds.field) to a DS that is not QUALIFIED 3
RNF0275: Field required to be blank is not blank; defaults to blank. 3
RNF0603: Keyword CHAR requires at least one parameter, but none were specified; keyword is ignored. 3
RNF5049: The Operation Extender is not valid for the specified Operation Code. 3
Declaration after calculations 2
RNF0257: Form-Type entry for main procedure not valid or out of sequence. 2
RNF0262: Entry not left-adjusted; defaults to left-adjusted. 2
RNF0314: Built-in function %LIST(n:n:n) does not have a value known at compile-time; built-in function is ignored. 2
RNF0652: Library or file name exceeds n characters. 2
RNF0706: Directive found outside of /IF group. 2
RNF1331: The parameter for keyword OPTION is not valid; parameter is ignored. 2
RNF1502: The Procedure specification ending the previous procedure is missing. 2
RNF3316: The item has already been defined on a Definition Specification; specification is ignored. 2
RNF3429: Initial value is not valid; parameter is ignored. 2
RNF3744: The parameter for keyword OPTIONS is not valid; the parameter is ignored. 2
RNF5053: Resulting-Indicators entry is blank for specified operation; specification is ignored. 2
RNF5346: The operation modifies the field, but the field cannot be modified. 2
RNF7416: The types of the right and left hand side do not match in the EVAL operation. 2
RNF7535: The type and attributes of parameter n do not match those of the prototype. 2
LIKE naming a sibling subfield without its DS qualifier 1
PREFIX on a program-described DS (only valid with EXTNAME/LIKEREC) 1
RNF0203: SELECT WITH AN OPERAND MUST BE FOLLOWED BY WHEN-IS, WHEN-IN, OTHER, OR ENDSL. 1
RNF0203: THE MESSAGE-TARGET OPERAND IS NOT VALID FOR THE SND-MSG OPERATION. 1
RNF0273: Compiler not able to open the /COPY or /INCLUDE file; directive ignored. 1
RNF0312: A right parenthesis is expected but is not found. 1
RNF0314: Built-in function %LIST('ok':'long') does not have a value known at compile-time; built-in function is ignored. 1
RNF0314: Built-in function %LIST(n:n:n:n) does not have a value known at compile-time; built-in function is ignored. 1
RNF0355: The second parameter CODE for %EDITC is not a character constant of length n. 1
RNF0361: The first parameter N for %SUBST is not valid; built-in function is ignored. 1
RNF0364: The start position n for %SUBST is greater than string length n; %SUBST is ignored. 1
RNF0365: The third parameter n for %SUBST is too big; parameter is ignored. 1
RNF0528: Index is not allowed for name D that is not an array; index is ignored. 1
RNF0552: The second parameter n for %DIV is not valid; %DIV is ignored. 1
RNF0592: The second parameter NUMS for %LOOKUPxx must be a sequenced array. 1
RNF0622: A qualified name is not allowed in this context. 1
RNF0653: Library or object name exceeds n characters. 1
RNF0725: The statement type is out of sequence for the subprocedure. 1
RNF2093: Blank File-Designation entry is not valid with File-Type entry; defaults to F. 1
RNF3244: Return type I(n,n) does not match type A(n) VARYING(n) of overloaded prototype. 1
RNF3245: No prototype in the OVERLOAD keyword of FORMAT matches the call. 1
RNF3246: Prototypes ABSINT and ABSFLOAT both match the call; first match assumed. 1
RNF3246: Prototypes ASSERTEQUAL_STRING and ASSERTEQUAL_IND both match the call; first match assumed. 1
RNF3301: The Name entry is not valid; specification ignored. 1
RNF3431: Length of initial value 'ABCDEFG' exceeds length of field C; initial value is ignored. 1
RNF3551: END-XX is not expected. 1
RNF3555: The keyword is not allowed in fixed-form definitions. The keyword is ignored. 1
RNF3556: END-DS statement missing for a group containing free-form statements. 1
RNF3753: OPTIONS(*OMIT), OPTIONS(*VARSIZE), and OPTIONS(*NULLIND) are not valid for a parameter passed by value. 1
RNF3767: The name in positions n - n does not match the name of the procedure being defined. 1
RNF3905: Keyword CONST is missing for definition of constant SMALL; specification is ignored. 1
RNF4059: Control-Levels and Matching-Fields entries are not allowed for full procedural files. 1
RNF5002: Blank Control-Level entry follows Control-Level entry that is not blank; defaults to previous entry. 1
RNF5003: Control-Level entry of AN/OR is not valid; defaults to blanks. 1
RNF5005: Operation entry following ENDSR operation is not valid; specification is ignored. 1
RNF5006: Not entry is neither N nor blank; defaults to blank. 1
RNF5008: Factor n operand is not valid; defaults to blanks. 1
RNF5009: Factor n operand is required for specified operation. 1
RNF5010: Factor n entry is not blank for the specified operation; defaults to blanks. 1
RNF5014: Operation code is not valid; specification is ignored. 1
RNF5056: Either the error indicator or the E operation extender must be specified for the TEST operation. 1
RNF5094: ENDyy entry is missing for a CASxx entry. An END entry is inserted after the CASxx statement. 1
RNF5119: Factor n entry of PLIST operation is already defined; parameter list is ignored. 1
RNF5121: PARM operation does not immediately follow PLIST, PARM, CALL, or CALLB; specification is ignored. 1
RNF5141: ENDyy is specified without associated structured operation. 1
RNF5164: PLIST operation is not followed by a PARM operation; specification is ignored. 1
RNF5177: ENDyy operation missing for IF operation group at statement 1
RNF5191: The Result-Field is not a data structure when Factor n is a file name. 1
RNF5343: Array CODES has too many omitted indexes. 1
RNF5358: The EVAL operation is missing an expression. 1
RNF5403: The prototyped call cannot be used in an expression because it does not return a value. 1
RNF5419: *ENTRY PLIST is allowed only in a cycle module. 1
RNF5442: The ON-EXIT operation is not allowed in a cycle-main procedure. 1
RNF5449: The third operand of DATA-INTO must be %PARSER. 1
RNF5454: The third operand of DATA-GEN must be %GEN. 1
RNF5508: End of free-format statement is not blank. 1
RNF7016: Display length n greater than maximum allowed of n; specification is ignored. 1
RNF7026: An operand is not specified on EXCEPT operation but there is no EXCEPT without a name. 1
RNF7054: The Result Field *ENTRY of the CALL or CALLB operation is not a PLIST name; the specification is ignored. 1
RNF7054: The Result Field NOSUCH of the CALL or CALLB operation is not a PLIST name; the specification is ignored. 1
RNF7091: The Factor n operand is a Local-Data Area for UNLOCK operation. 1
RNF7261: The Result-Field operand 'abc' is not valid for the specified operation. 1
RNF7421: Operands are not compatible with the type of operator. 1
RNF7505: Time format *USA can not be used with the numeric entry N6. 1
RNF7509: Factor n entry *ISO is not valid for the MOVE or MOVEL operation. 1
RNF7512: The Result Field entry C6 is too small to contain a complete *ISO- Date. 1
RNF7515: Move operands DFLD and TFLD have types that are not compatible. 1
RNF7523: Operation-Code extender D, T, or Z cannot be used with Result-Field entry D. 1
RNF7547: Float variable or literal F8 is not allowed for the operation. 1
RNF7563: The expression is not valid for assignment to built-in function %LEN or %ELEM. 1
RNF7591: An operand of a qualified name expression is not valid. 1
SQL1004: END-EXEC or continuation expected but not found. 1
Undefined name, cause not reported by IBM (RNF7503) 1

All programs (473)

✅ compiled, ❌ did not. ⚠️ marks a result that differs from what the program should do on IBM i.

Program Should compile IBM i rpgc Details Last compiled
ADDONE Yes ✅ ✅ 2026-10-06
ADDTWO Yes ✅ ✅ 2026-09-25
COPYBACK Yes ✅ ✅ 2026-10-21
NETPAY Yes ✅ ✅ 2026-09-25
PGMFAIL Yes ✅ ✅ 2026-10-06
PGMTYPES Yes ✅ ✅ 2026-10-06
test01_hello Yes ✅ ✅ 2026-09-25
test02_arithmetic Yes ✅ ✅ 2026-09-25
test03_types Yes ✅ ✅ 2026-09-25
test04_bifs Yes ✅ ✅ 2026-09-25
test05_if Yes ✅ ✅ 2026-09-25
test06_loops Yes ✅ ✅ 2026-09-25
test07_select Yes ✅ ✅ 2026-09-25
test08_procedures Yes ✅ ✅ 2026-09-25
test09_datastructs Yes ✅ ✅ 2026-09-25
test10_bifs_expanded Yes ✅ ✅ 2026-09-25
test11_errors No ❌ ❌ why 2026-09-25
test11a_missing_semi No ❌ ❌ why 2026-09-25
test11b_bad_type No ❌ ❌ why 2026-09-25
test11c_unmatched_if No ❌ ❌ why 2026-09-25
test11d_bad_expr No ❌ ❌ why 2026-09-25
test11e_unmatched_paren No ❌ ❌ why 2026-09-25
test12_monitor Yes ✅ ✅ 2026-09-25
test13_subroutines Yes ✅ ✅ 2026-09-25
test14_indicators Yes ✅ ✅ 2026-09-25
test15_dou Yes ✅ ✅ 2026-09-25
test16_copy Yes ✅ ✅ 2026-09-25
test17_constants Yes ✅ ✅ 2026-09-25
test18_datetime Yes ✅ ✅ 2026-09-25
test19_math_bifs Yes ✅ ✅ 2026-09-25
test20_memory_bifs Yes ✅ ✅ 2026-09-25
test21_parms Yes ✅ ✅ 2026-09-25
test22_status_error Yes ✅ ✅ 2026-09-25
test23_reset_clear Yes ✅ ✅ 2026-09-25
test24_max_min Yes ✅ ✅ 2026-09-25
test25_dclf Yes ✅ ✅ 2026-09-25
test26_pointers Yes ✅ ✅ 2026-09-25
test27_arrays Yes ✅ ✅ 2026-09-25
test28_conditional Yes ✅ ✅ 2026-09-25
test29_dclsubf_parm Yes ✅ ✅ 2026-09-25
test30_like Yes ✅ ✅ 2026-09-25
test31_lookup_sorta Yes ✅ ✅ 2026-09-25
test32_editc_editw Yes ✅ ✅ 2026-09-25
test33_replace Yes ✅ ✅ 2026-09-29
test34_check Yes ✅ ✅ 2026-09-25
test35_evalcorr Yes ✅ ✅ 2026-09-25
test36_ds_params Yes ✅ ✅ 2026-09-25
test37_inzsr Yes ✅ ✅ 2026-09-25
test38_ctlopt Yes ✅ ✅ 2026-09-25
test39_figconst Yes ✅ ✅ 2026-09-25
test40_evalr_leavesr Yes ✅ ✅ 2026-09-25
test41_string_bifs Yes ✅ ✅ 2026-09-25
test42_onexit Yes ✅ ✅ 2026-09-25
test43_static Yes ✅ ✅ 2026-09-25
test44_alloc Yes ✅ ✅ 2026-09-25
test45_array_bifs Yes ✅ ✅ 2026-09-25
test46_options Yes ✅ ✅ 2026-09-25
test47_test Yes ✅ ✅ 2026-09-25
test48_nomain Yes ✅ ✅ 2026-09-25
test49_extproc Yes ✅ ✅ 2026-09-25
test50_numeric_bifs Yes ✅ ✅ 2026-09-29
test51_string_bifs Yes ✅ ✅ 2026-09-25
test52_array_bifs Yes ✅ ✅ 2026-09-25
test53_datetime_bifs Yes ✅ ✅ 2026-09-25
test54_memory_bifs Yes ✅ ✅ 2026-09-25
test55_figconst Yes ✅ ✅ 2026-09-25
test56_ctlopt_main Yes ✅ ✅ 2026-09-25
test57_datfmt Yes ✅ ✅ 2026-09-25
test58_foreach_in Yes ✅ ✅ 2026-09-25
test59_passed_omitted Yes ✅ ✅ 2026-09-25
test60_datatypes Yes ✅ ✅ 2026-09-25
test61_no_free No ❌ ✅ why 2026-09-25
test62_overlay_pos Yes ✅ ✅ 2026-09-25
test63_prefix No ❌ ❌ why 2026-09-25
test64_omit Yes ✅ ✅ 2026-09-25
test65_actgrp Yes ✅ ✅ 2026-09-25
test66_pssr Yes ✅ ✅ 2026-09-25
test67_pssr_error Yes ✅ ✅ 2026-09-25
test68_bitwise_power Yes ✅ ✅ 2026-09-25
test68_no_pssr Yes ✅ ✅ 2026-09-25
test69_scanr Yes ✅ ✅ 2026-09-29
test70_editflt_unsh Yes ✅ ✅ 2026-09-25
test71_enum_boolean Yes ✅ ✅ 2026-09-25
test72_dim_var Yes ✅ ✅ 2026-09-25
test73_date_formats Yes ✅ ✅ 2026-09-25
test74_concat Yes ✅ ✅ 2026-09-25
test75_tlookup_elem Yes ✅ ✅ 2026-09-25
test76_ds_dim_var Yes ✅ ✅ 2026-09-25
test77_exec_sql Yes ✅ ✅ 2026-09-25
test78_exec_sql_proc Yes ✅ ✅ 2026-09-25
test79_sql_core Yes ✅ ✅ 2026-09-25
test80_sql_cursors Yes ✅ ✅ 2026-09-25
test81_sql_dynamic Yes ✅ ✅ 2026-09-25
test82_sql_advanced Yes ✅ ✅ 2026-09-25
test83_sql_multirow Yes ✅ ✅ 2026-09-25
test84_sql_connect Yes ✅ ✅ 2026-09-25
test85_getenv No ❌ ✅ why 2026-09-25
test86 Yes ✅ ✅ 2026-09-25
test87 Yes ✅ ✅ 2026-09-29
test88 Yes ✅ ✅ 2026-09-29
test89 Yes ✅ ✅ 2026-09-25
test90_psds_basic Yes ✅ ✅ 2026-09-29
test91_psds_monitor Yes ✅ ✅ 2026-09-29
test92_data_area_lda Yes ✅ ✅ 2026-09-25
test93_data_area_named Yes ✅ ✅ 2026-09-29
test94_extender_h Yes ✅ ✅ 2026-09-25
test95_extender_e Yes ✅ ✅ 2026-09-25
test96_da_status401 Yes ✅ ✅ 2026-09-29
test97_da_status415 Yes ✅ ✅ 2026-09-29
test98_da_status413 Yes ✅ ✅ 2026-09-29
test99_data_into Yes ✅ ✅ 2026-09-25
test100_data_gen Yes ✅ ✅ 2026-09-25
test101_user Yes ✅ ✅ 2026-09-25
test102_snd_msg Yes ✅ ✅ 2026-09-29
test103_rla_chain Yes ✅ ✅ 2026-09-25
test104_rla_read Yes ✅ ✅ 2026-09-25
test105_rla_write_upd_del No ❌ ✅ why 2026-09-25
test106_rla_setll_reade Yes ✅ ✅ 2026-09-25
test107_sql_conf Yes ✅ ✅ 2026-09-25
test108_rla_conf Yes ✅ ✅ 2026-09-25
test109_sql_indicator Yes ✅ ✅ 2026-09-25
test110_overload Yes ✅ ✅ 2026-09-25
test111_elem_alloc Yes ✅ ✅ 2026-09-25
test112_data_into_csv Yes ✅ ✅ 2026-09-25
test113_data_gen_csv Yes ✅ ✅ 2026-09-25
test114_data_into_json_parser Yes ✅ ✅ 2026-09-25
test115_dump Yes ✅ ✅ 2026-09-29
test116_fixed_hd Yes ✅ ✅ 2026-09-25
test117_fixed_free_hello Yes ✅ ✅ 2026-09-25
test118_fixed_rla_chain Yes ✅ ✅ 2026-09-25
test119_fixed_free_error No ❌ ❌ why 2026-09-25
test120_fixed_varchar Yes ✅ ✅ 2026-09-25
test121_fixed_varchar_subfield Yes ✅ ✅ 2026-09-25
test122_fixed_rla_chain_varchar Yes ✅ ✅ 2026-09-25
test123_fixed_ds_dim Yes ✅ ✅ 2026-09-25
test124_fixed_overlay Yes ✅ ✅ 2026-09-25
test125_fixed_cspec_if Yes ✅ ✅ 2026-09-25
test126_fixed_cspec_dow_dou Yes ✅ ✅ 2026-09-25
test127_fixed_cspec_for Yes ✅ ✅ 2026-09-25
test128_fixed_cspec_select Yes ✅ ✅ 2026-09-25
test129_fixed_cspec_subr Yes ✅ ✅ 2026-09-25
test130_fixed_cspec_eval_callp Yes ✅ ✅ 2026-09-25
test131_fixed_cspec_clear_sorta Yes ✅ ✅ 2026-09-25
test132_fixed_cspec_monitor Yes ✅ ✅ 2026-09-25
test133_fixed_cspec_continuation Yes ✅ ✅ 2026-09-25
test134_fixed_cspec_mixed_free Yes ✅ ✅ 2026-09-25
test135_fixed_cspec_err_ctllevel No ❌ ❌ why 2026-09-25
test136_fixed_cspec_err_indicator No ❌ ❌ why 2026-09-25
test137_fixed_cspec_err_deferred No ❌ ❌ why 2026-09-25
test138_fixed_cspec_err_legacy No ❌ ❌ why 2026-09-25
test139_fixed_copy_dspec Yes ✅ ✅ 2026-09-25
test140_fixed_copy_cspec Yes ✅ ✅ 2026-09-25
test141_fixed_copy_nested Yes ✅ ✅ 2026-09-25
test142_fixed_copy_in_free Yes ✅ ✅ 2026-09-25
test143_fixed_copy_err_missing No ❌ ❌ why 2026-09-25
test144_fixed_cspec_chain Yes ✅ ✅ 2026-09-25
test145_fixed_cspec_read Yes ✅ ✅ 2026-09-25
test146_fixed_cspec_write_upd_del No ❌ ✅ why 2026-09-25
test147_fixed_cspec_setll_reade Yes ✅ ✅ 2026-09-25
test148_fixed_cspec_goto_tag Yes ✅ ✅ 2026-09-25
test149_fixed_cspec_goto_in_begsr Yes ✅ ✅ 2026-09-25
test150_fixed_cspec_arith Yes ✅ ✅ 2026-09-25
test151_fixed_cspec_zadd_zsub Yes ✅ ✅ 2026-09-25
test152_fixed_cspec_err_goto_in_free No ❌ ❌ why 2026-09-25
test153_fixed_cspec_err_call_deferred No ❌ ❌ why 2026-09-25
test154_fixed_ispec_single Yes ✅ ✅ 2026-09-25
test155_fixed_ispec_multi Yes ✅ ✅ 2026-10-21
test156_fixed_ispec_field_ind Yes ✅ ✅ 2026-09-25
test157_fixed_ispec_update Yes ✅ ✅ 2026-09-25
test158_fixed_ospec_editcode Yes ✅ ✅ 2026-09-25
test159_fixed_ispec_zone Yes ✅ ✅ 2026-10-21
test160_fixed_ispec_err_matching No ❌ ❌ why 2026-09-25
test161_fixed_subf_dim Yes ✅ ✅ 2026-09-25
test162_fixed_subf_like Yes ✅ ✅ 2026-09-25
test163_subfield_like_dim Yes ✅ ✅ 2026-09-25
test164_fixed_cspec_cond_ind Yes ✅ ✅ 2026-09-25
test165_fixed_cspec_err_cond_block No ❌ ❌ why 2026-09-25
test166_fixed_cspec_err_cond_ind_name No ❌ ❌ why 2026-09-25
test167_fixed_cspec_cond_anor Yes ✅ ✅ 2026-09-25
test168_fixed_cspec_err_anor_orphan No ❌ ❌ why 2026-09-25
test169_fixed_cspec_err_anor_dangling No ❌ ❌ why 2026-09-25
test170_fixed_cspec_move Yes ✅ ✅ 2026-09-25
test171_fixed_cspec_err_move_date_time No ❌ ❌ why 2026-09-25
test172_fixed_cspec_err_move_datefmt No ❌ ❌ why 2026-09-25
test173_move_err_free_format No ❌ ❌ why 2026-09-25
test175_fixed_cspec_call_parm Yes ✅ ✅ 2026-09-25
test176_fixed_cspec_err_plist No ❌ ❌ why 2026-09-25
test177_fixed_cspec_call_var Yes ✅ ✅ 2026-10-06
test178_fixed_cspec_err_parm_orphan No ❌ ❌ why 2026-09-25
test179_call_err_free_format No ❌ ❌ why 2026-09-25
test180_fixed_cspec_modern_opcodes Yes ✅ ✅ 2026-09-25
test181_fixed_cspec_err_on_exit No ❌ ❌ why 2026-09-25
test182_fixed_cspec_cas_cab Yes ✅ ✅ 2026-09-25
test183_fixed_cspec_err_endcs_orphan No ❌ ❌ why 2026-09-25
test184_fixed_cspec_err_cas_unclosed No ❌ ❌ why 2026-09-25
test185_fixed_cspec_err_cas_mnemonic No ❌ ❌ why 2026-09-25
test186_fixed_cspec_comp Yes ✅ ✅ 2026-09-25
test187_fixed_cspec_err_comp_noind No ❌ ❌ why 2026-09-25
test188_fixed_cspec_exec_sql Yes ✅ ✅ 2026-09-25
test189_fixed_cspec_err_endexec_orphan No ❌ ❌ why 2026-09-25
test190_fixed_cspec_err_sql_unterminated No ❌ ❌ why 2026-09-25
test191_fixed_cspec_move_num Yes ✅ ✅ 2026-09-25
test192_fixed_cspec_move_char_to_num Yes ✅ ✅ 2026-09-25
test193_fixed_cspec_move_num_to_char Yes ✅ ✅ 2026-10-13
test194_fixed_cspec_err_move_float No ❌ ❌ why 2026-09-25
test195_fixed_cspec_err_move_declit Yes ✅ ❌ why 2026-09-25
test196_fixed_cspec_move_data_exc Yes ✅ ✅ 2026-10-13
test197_fixed_cspec_plist Yes ✅ ✅ 2026-09-25
test198_fixed_cspec_parm_f1f2 Yes ✅ ✅ 2026-09-25
test199_fixed_cspec_err_entry_nomain No ❌ ❌ why 2026-09-25
test200_fixed_cspec_err_plist_undef No ❌ ❌ why 2026-09-25
test201_fixed_cspec_err_plist_dup No ❌ ❌ why 2026-09-25
test202_fixed_cspec_err_parm_literal No ❌ ❌ why 2026-09-25
test204_fixed_cspec_entry_caller Yes ✅ ✅ 2026-09-25
test205_fixed_cspec_entry_f2 Yes ✅ ✅ 2026-10-21
test206_fixed_cspec_err_entry_undecl No ❌ ❌ why 2026-09-25
test207_fixed_cspec_err_call_entry No ❌ ❌ why 2026-09-25
test208_fixed_cspec_move_date Yes ✅ ✅ 2026-10-13
test209_fixed_cspec_move_dt_nosep Yes ✅ ✅ 2026-09-25
test210_fixed_cspec_move_timestamp Yes ✅ ✅ 2026-09-25
test211_fixed_cspec_move_dt_align Yes ✅ ✅ 2026-09-25
test212_fixed_cspec_move_dt_err Yes ✅ ✅ 2026-10-13
test213_fixed_cspec_err_move_jobrun Yes ✅ ❌ why 2026-09-25
test214_fixed_cspec_err_move_usa_num No ❌ ❌ why 2026-09-25
test215_prog_ar_aging Yes ✅ ✅ 2026-09-25
test216_prog_gl_post Yes ✅ ✅ 2026-10-21
test217_prog_inv_reorder Yes ✅ ✅ 2026-09-25
test218_prog_payroll Yes ✅ ✅ 2026-09-26
test219_prog_order_release No ❌ ✅ why 2026-09-26
test220_overlay_alias Yes ✅ ✅ 2026-09-25
test221_ospec_decimals Yes ✅ ✅ 2026-09-25
test222_half_adjust Yes ✅ ✅ 2026-09-25
test223_editc_decimals Yes ✅ ✅ 2026-09-25
test224_fixed_dspec_inz Yes ✅ ✅ 2026-09-25
test225_decimal_division Yes ✅ ✅ 2026-09-25
test226_subfield_inz Yes ✅ ✅ 2026-09-26
test227_proc_globals Yes ✅ ✅ 2026-09-25
test228_exsr_order Yes ✅ ✅ 2026-09-25
test229_char_compare Yes ✅ ✅ 2026-09-25
test230_ds_subfield_attrs Yes ✅ ✅ 2026-09-26
test231_assign_fit Yes ✅ ✅ 2026-09-25
test232_fixed_conditionals Yes ✅ ✅ 2026-09-25
test233_err_stray_endif No ❌ ❌ why 2026-09-25
test234_err_copy_open_if No ❌ ❌ why 2026-09-25
test235_copy_eof Yes ✅ ✅ 2026-09-25
test236_assign_fit_paths Yes ✅ ✅ 2026-09-25
test237_sql_into_fit Yes ✅ ✅ 2026-09-25
test238_rla_field_fit No ❌ ✅ why 2026-09-25
test239_numeric_overflow Yes ✅ ✅ 2026-09-25
test240_fixed_arith_trunc Yes ✅ ✅ 2026-09-25
test241_err_eval_t No ❌ ❌ why 2026-09-25
test242_hex_nul Yes ✅ ✅ 2026-09-25
test243_array_init Yes ✅ ✅ 2026-09-25
test244_pi_star_n Yes ✅ ✅ 2026-09-25
test245_bare_call Yes ✅ ✅ 2026-09-25
test246_const_params Yes ✅ ✅ 2026-09-25
test247_err_const_assign No ❌ ❌ why 2026-09-25
test248_proc_no_pi Yes ✅ ✅ 2026-09-25
test249_ds_subfield_types Yes ✅ ✅ 2026-09-26
test250_dcl_s_keywords Yes ✅ ✅ 2026-09-25
test251_ds_template Yes ✅ ✅ 2026-09-25
test252_nested_target Yes ✅ ✅ 2026-09-25
test253_unqualified_subfields Yes ✅ ✅ 2026-09-25
test254_fixed_unqualified_ds Yes ✅ ✅ 2026-09-25
test255_err_div_zero_literal No ❌ ❌ why 2026-09-25
test256_err_inz_too_long No ❌ ❌ why 2026-09-25
test257_err_unqualified_dot No ❌ ❌ why 2026-09-25
test258_err_not_numeric No ❌ ❌ why 2026-09-25
test259_not_precedence Yes ✅ ✅ 2026-09-25
test260_err_decl_after_calc No ❌ ❌ why 2026-09-25
test261_err_decl_after_calc_proc No ❌ ❌ why 2026-09-25
test262_err_dsply_unparen No ❌ ❌ why 2026-09-25
test263_err_dsply_too_long No ❌ ❌ why 2026-09-25
test264_err_pi_no_name No ❌ ❌ why 2026-09-25
test265_err_pi_wrong_name No ❌ ❌ why 2026-09-25
test266_err_calc_after_subroutine No ❌ ❌ why 2026-09-25
test267_compound_assign Yes ✅ ✅ 2026-09-26
test268_inlr_indicator Yes ✅ ✅ 2026-09-25
test269_fixed_inlr Yes ✅ ✅ 2026-09-25
test270_err_enum_no_value No ❌ ❌ why 2026-09-25
test271_err_overload_end_pr No ❌ ❌ why 2026-09-25
test272_err_overload_return No ❌ ❌ why 2026-09-25
test273_err_overload_ambiguous No ❌ ❌ why 2026-09-25
test274_err_overload_no_match No ❌ ❌ why 2026-09-25
test275_err_data_into_no_parser No ❌ ❌ why 2026-09-25
test276_err_data_gen_no_gen No ❌ ❌ why 2026-09-25
test277_err_snd_msg_type No ❌ ❌ why 2026-09-25
test278_err_eval_extender No ❌ ❌ why 2026-09-25
test279_err_evalr_extender No ❌ ❌ why 2026-09-25
test280_err_lookup_unsequenced No ❌ ❌ why 2026-09-25
test281_err_tlookup_not_table No ❌ ❌ why 2026-09-25
test282_ctdata Yes ✅ ✅ 2026-09-25
test283_fixed_ctdata Yes ✅ ✅ 2026-09-25
test284_err_elem_over_max No ❌ ❌ why 2026-09-25
test285_err_user_expression No ❌ ❌ why 2026-09-25
test286_err_assign_type No ❌ ❌ why 2026-09-25
test287_err_unlock_lda No ❌ ❌ why 2026-09-25
test288_err_dtaara_name_length No ❌ ❌ why 2026-09-25
test289_err_test_no_e No ❌ ❌ why 2026-09-25
test290_err_test_d_on_date No ❌ ❌ why 2026-09-25
test291_err_two_statements_line No ❌ ❌ why 2026-09-25
test292_err_write_program_described No ❌ ❌ why 2026-09-25
test293_err_ospec_no_type No ❌ ❌ why 2026-09-25
test294_err_spec_order No ❌ ❌ why 2026-09-25
test295_err_fspec_designation No ❌ ❌ why 2026-09-25
test296_err_move_date_too_small No ❌ ❌ why 2026-09-25
test297_err_like_qualified_sibling No ❌ ❌ why 2026-09-25
test298_err_fixed_pos No ❌ ❌ why 2026-09-25
test299_err_cab_no_factors No ❌ ❌ why 2026-09-25
test300_err_copy_not_free No ❌ ❌ why 2026-09-25
test301_err_name_continuation No ❌ ❌ why 2026-09-25
test302_ds_blank_inz Yes ✅ ✅ 2026-09-26
test303_edit_codes Yes ✅ ✅ 2026-09-26
test304_err_editc_variable No ❌ ❌ why 2026-09-26
test305_on_error_codes Yes ✅ ✅ 2026-09-26
test306_keyword_names Yes ✅ ✅ 2026-09-26
test307_err_opcode_name_assign No ❌ ❌ why 2026-09-26
test308_err_opcode_subfield No ❌ ❌ why 2026-09-26
test309_err_not_name No ❌ ❌ why 2026-09-26
test310_pssr_proc Yes ✅ ✅ 2026-09-29
test311_subst_range Yes ✅ ✅ 2026-09-29
test312_snd_msg_escape Yes ✅ ✅ 2026-09-29
test313_dump_debug Yes ✅ ✅ 2026-09-29
test314_dump_always Yes ✅ ✅ 2026-09-29
test315_ds_position_overlap Yes ✅ ✅ 2026-10-06
test316_test_subfield Yes ✅ ✅ 2026-10-06
test317_numeric_bif_char Yes ✅ ✅ 2026-10-06
test318_fixed_inz_sys Yes ✅ ✅ 2026-10-06
test319_begsr_in_proc Yes ✅ ✅ 2026-10-06
test320_ds_as_char Yes ✅ ✅ 2026-10-06
test321_ds_unnamed Yes ✅ ✅ 2026-10-06
test322_fixed_ds_unnamed Yes ✅ ✅ 2026-10-06
test323_likeds_overlay Yes ✅ ✅ 2026-10-06
test324_err_proto_mismatch No ❌ ❌ why 2026-10-06
test325_err_const_likeds No ❌ ❌ why 2026-10-06
test326_err_byref_size No ❌ ❌ why 2026-10-06
test327_exec_sql_newline Yes ✅ ✅ 2026-10-06
test328_sql_subfield_hostvar Yes ✅ ✅ 2026-10-06
test329_sql_commit_rollback Yes ✅ ✅ 2026-10-06
test330_sql_commit_none Yes ✅ ✅ 2026-10-06
test331_sql_null_no_indicator Yes ✅ ✅ 2026-10-06
test332_extfile_usropn No ❌ ✅ why 2026-10-06
test333_rla_usropn Yes ✅ ✅ 2026-10-06
test334_free_dclf_disk_len No ❌ ✅ why 2026-10-06
test335_sql_message_text Yes ✅ ✅ 2026-10-06
test336_exit_status Yes ✅ ✅ 2026-10-06
test337_exit_status_set Yes ✅ ✅ 2026-10-06
test338_extpgm_types Yes ✅ ✅ 2026-10-06
test339_call_errors Yes ✅ ✅ 2026-10-27
test340_call_c_program Yes ✅ ✅ 2026-10-06
test341_int_sizes Yes ✅ ✅ 2026-10-06
test342_sql_bigint Yes ✅ ✅ 2026-10-06
test343_fixed_int20 Yes ✅ ✅ 2026-10-06
test344_ind_inz Yes ✅ ✅ 2026-10-06
test345_fixed_ind_inz Yes ✅ ✅ 2026-10-06
test346_timestamp_duration Yes ✅ ✅ 2026-10-06
test347_ind_as_char Yes ✅ ✅ 2026-10-06
test348_date_month_end Yes ✅ ✅ 2026-10-06
test349_err_exec_sql_split No ❌ ❌ why 2026-10-06
test350_block_comments No ❌ ✅ why 2026-10-06
test351_fixed_block_comments No ❌ ✅ why 2026-10-06
test352_err_block_comment_open No ❌ ❌ why 2026-10-06
test353_err_fkey_no_workstn No ❌ ❌ why 2026-10-06
test354_dcl_s_names No ❌ ✅ why 2026-10-06
test355_fstring No ❌ ✅ why 2026-10-06
test356_err_fstring_open No ❌ ❌ why 2026-10-06
test357_err_fstring_empty No ❌ ❌ why 2026-10-06
test358_nested_proc No ❌ ✅ why 2026-10-06
test359_err_nested_proc_scope No ❌ ❌ why 2026-10-06
test360_not_in No ❌ ✅ why 2026-10-06
test361_in_array Yes ✅ ✅ 2026-10-06
test362_regex No ❌ ✅ why 2026-10-06
test363_err_regex_literal No ❌ ❌ why 2026-10-06
test364_subst_nolenchk No ❌ ✅ why 2026-10-06
test365_fixed_subst_nolenchk No ❌ ✅ why 2026-10-06
test366_char_nozero No ❌ ✅ why 2026-10-06
test367_err_char_nozero_expr No ❌ ❌ why 2026-10-06
test368_elseif_directive Yes ✅ ✅ 2026-10-06
test369_if_directive_and_or No ❌ ✅ why 2026-10-06
test370_fixed_if_and_or No ❌ ✅ why 2026-10-06
test371_err_if_directive No ❌ ❌ why 2026-10-06
test372_true_false No ❌ ✅ why 2026-10-06
test373_fixed_true_false No ❌ ✅ why 2026-10-06
test374_proc_return_ind Yes ✅ ✅ 2026-10-06
test375_err_dup_dcl_s No ❌ ❌ why 2026-10-06
test376_err_dup_param_local No ❌ ❌ why 2026-10-06
test377_err_undefined_proc No ❌ ❌ why 2026-10-06
test378_local_hides_global Yes ✅ ✅ 2026-10-06
test379_subst_target Yes ✅ ✅ 2026-10-06
test380_fixed_subst_target Yes ✅ ✅ 2026-10-06
test381_err_subst_target_num No ❌ ❌ why 2026-10-06
test382_err_subst_len_literal No ❌ ❌ why 2026-10-06
test383_err_subst_start_literal No ❌ ❌ why 2026-10-06
test384_fixed_starts_with_directive Yes ✅ ✅ 2026-10-06
test385_fixed_starts_with_free Yes ✅ ✅ 2026-10-06
test386_if_bif No ❌ ✅ why 2026-10-06
test387_err_if_bif_types No ❌ ❌ why 2026-10-06
test388_err_if_bif_cond No ❌ ❌ why 2026-10-06
test389_omit_args Yes ✅ ✅ 2026-10-06
test390_keyword_args No ❌ ✅ why 2026-10-06
test391_err_kwarg_unknown No ❌ ❌ why 2026-10-06
test392_err_kwarg_twice No ❌ ❌ why 2026-10-06
test393_err_kwarg_missing No ❌ ❌ why 2026-10-06
test394_err_kwarg_order No ❌ ❌ why 2026-10-06
test395_err_omit_value No ❌ ❌ why 2026-10-06
test396_scanrpl_portion Yes ✅ ✅ 2026-10-06
test397_scanrpl_first_last No ❌ ✅ why 2026-10-06
test398_scanrpl_empty_scan Yes ✅ ✅ 2026-10-06
test399_options_trim Yes ✅ ✅ 2026-10-06
test400_options_upper_lower No ❌ ✅ why 2026-10-06
test401_err_options_upper_ref No ❌ ❌ why 2026-10-06
test402_dynamic_char No ❌ ✅ why 2026-10-07
test403_err_dynamic_char_subf No ❌ ❌ why 2026-10-07
test404_err_dynamic_char_pgm No ❌ ❌ why 2026-10-07
test405_inz_list No ❌ ✅ why 2026-10-07
test406_err_inz_list_long No ❌ ❌ why 2026-10-07
test407_err_inz_list_value No ❌ ❌ why 2026-10-07
test408_ds_column Yes ✅ ✅ 2026-10-07
test409_xfoot_ds_column No ❌ ✅ why 2026-10-07
test410_err_ds_column_not_array No ❌ ❌ why 2026-10-07
test411_compcorr No ❌ ✅ why 2026-10-07
test412_err_compcorr_types No ❌ ❌ why 2026-10-07
test413_err_compcorr_count No ❌ ❌ why 2026-10-07
test414_proc_forward Yes ✅ ✅ 2026-10-07
test415_deprecated No ❌ ✅ why 2026-10-07
test416_lookup_kds No ❌ ✅ why 2026-10-07
test417_err_lookup_kds_field No ❌ ❌ why 2026-10-07
test418_repeat No ❌ ✅ why 2026-10-07
test419_err_repeat_fig No ❌ ❌ why 2026-10-07
test420_param_default No ❌ ✅ why 2026-10-07
test421_err_param_default_required No ❌ ❌ why 2026-10-07
test422_progname No ❌ ✅ why 2026-10-07
test423_bit_chars Yes ✅ ✅ 2026-10-07
test424_binary_literal No ❌ ✅ why 2026-10-07
test425_err_binary_literal No ❌ ❌ why 2026-10-07
test426_auto_next Yes ✅ ✅ 2026-10-07
test427_foreach_index No ❌ ✅ why 2026-10-07
test428_err_foreach_index_type No ❌ ❌ why 2026-10-07
test429_compare_proc No ❌ ✅ why 2026-10-07
test430_err_compare_proc No ❌ ❌ why 2026-10-07
test431_select_when_is Yes ✅ ✅ 2026-10-07
test432_when_is_not No ❌ ✅ why 2026-10-07
test433_err_select_operand_when No ❌ ❌ why 2026-10-07
test434_empty No ❌ ✅ why 2026-10-07
test435_hex_bifs No ❌ ✅ why 2026-10-07
test436_message_directive No ❌ ✅ why 2026-10-07
test437_err_message_directive No ❌ ❌ why 2026-10-07
test438_fixed_message_directive No ❌ ✅ why 2026-10-07
test439_fixed_cspec_move_dt_unmonitored Yes ✅ ✅ 2026-10-13
test440_fixed_cspec_move_bad_digit Yes ✅ ✅ 2026-10-21
test441_fixed_ispec_rid_persist Yes ✅ ✅ 2026-10-21
test442_like_subfield Yes ✅ ✅ 2026-10-21
test443_like_nested_subfield No ❌ ✅ why 2026-10-21
test444_err_like_no_subfield No ❌ ❌ why 2026-10-21
test445_overload_with_prototypes Yes ✅ ✅ 2026-10-21
test446_overload_ind No ❌ ✅ why 2026-10-21
test447_likeds_dim_subfield Yes ✅ ✅ 2026-10-27
test448_fixed_dspec_likeds_dim Yes ✅ ✅ 2026-10-27
test449_err_ind_never_set No ❌ ❌ why 2026-10-27
test450_fixed_err_ind_never_set No ❌ ❌ why 2026-10-27
test451_fixed_err_factor1_not_left No ❌ ❌ why 2026-10-27
test452_fixed_err_result_not_left No ❌ ❌ why 2026-10-27
test453_cycle_repeat Yes ✅ ✅ 2026-10-27
test454_fixed_seton_setoff Yes ✅ ✅ 2026-10-27
test455_in_array Yes ✅ ✅ 2026-10-27
test456_based_ind_ds Yes ✅ ✅ 2026-10-27
test457_based_ds_alloc Yes ✅ ✅ 2026-10-27
test458_fixed_based_ind_ds Yes ✅ ✅ 2026-10-27
test459_based_dim_likeds Yes ✅ ✅ 2026-10-27
test460_based_bare_dim_nested Yes ✅ ✅ 2026-10-27
test461_fixed_based_dim_overlay Yes ✅ ✅ 2026-10-27
test462_unqual_dim_subfield Yes ✅ ✅ 2026-10-27
test_exfmt Yes ✅ ✅ 2026-09-25

Details (183)

For each program that did not compile on IBM i, or whose expectation is an exception to the rule: why.

test11_errors

test11_errors.rpgle — should be rejected (syntax-error test); IBM i did not compile it.

RNF5347: An assignment operator is expected with the EVAL operation.

  • RNF5347 (severity 30, line 5): An assignment operator is expected with the EVAL operation.
  • RNF7030 (severity 30, line 5): The name or indicator GARBAGE is not defined.
  • RNF7030 (severity 30, line 5): The name or indicator INVALID is not defined.

test11a_missing_semi

test11a_missing_semi.rpgle — should be rejected (syntax-error test); IBM i did not compile it.

RNF5377: The end of the expression is expected.

  • RNF5377 (severity 20, line 5): The end of the expression is expected.
  • RNF7030 (severity 30, line 5): The name or indicator DSPLY is not defined.

test11b_bad_type

test11b_bad_type.rpgle — should be rejected (syntax-error test); IBM i did not compile it.

RNF3308: Keyword name is not valid; the keyword is ignored.

  • RNF3308 (severity 20, line 3): Keyword name is not valid; the keyword is ignored.
  • RNF3438 (severity 30, line 3): LIKE keyword is expected for field X but not found; definition is ignored.
  • RNF7030 (severity 30, line 3): The name or indicator X is not defined.

test11c_unmatched_if

test11c_unmatched_if.rpgle — should be rejected (syntax-error test); IBM i did not compile it.

RNF5177: ENDyy operation missing for IF operation group at statement

  • RNF5177 (severity 30, line 5): ENDyy operation missing for IF operation group at statement

test11d_bad_expr

test11d_bad_expr.rpgle — should be rejected (syntax-error test); IBM i did not compile it.

RNF5377: The end of the expression is expected.

  • RNF5377 (severity 20, line 4): The end of the expression is expected.

test11e_unmatched_paren

test11e_unmatched_paren.rpgle — should be rejected (syntax-error test); IBM i did not compile it.

RNF0312: A right parenthesis is expected but is not found.

  • RNF0312 (severity 20, line 4): A right parenthesis is expected but is not found.

test61_no_free

test61_no_free.rpgle — should be rejected (OpenRPG extension: free-form without **FREE; IBM i requires the directive); IBM i did not compile it.

RNF0257: Form-Type entry for main procedure not valid or out of sequence.

  • RNF0257 (severity 30, line 1): Form-Type entry for main procedure not valid or out of sequence.
  • RNF0257 (severity 30, line 2): Form-Type entry for main procedure not valid or out of sequence.
  • RNF0257 (severity 30, line 3): Form-Type entry for main procedure not valid or out of sequence.
  • RNF0257 (severity 30, line 4): Form-Type entry for main procedure not valid or out of sequence.
  • RNF0257 (severity 30, line 5): Form-Type entry for main procedure not valid or out of sequence.

test63_prefix

test63_prefix.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

PREFIX on a program-described DS (only valid with EXTNAME/LIKEREC)

  • RNF3529 (severity 20, line 8): Keyword is not allowed for a program-described data structure; keyword is ignored.
  • RNF7030 (severity 30, line 14): The name or indicator CUST_ID is not defined.
  • RNF7503 (severity 30, line 14): Expression contains an operand that is not defined.
  • RNF7030 (severity 30, line 15): The name or indicator CUST_NAME is not defined.
  • RNF7503 (severity 30, line 15): Expression contains an operand that is not defined.

test85_getenv

test85_getenv.rpgle — should be rejected (OpenRPG extension: %GETENV has no IBM i equivalent (IBM: RNF0604, not a built-in)); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 15): The token is not valid; token is ignored.
  • RNF0604 (severity 20, line 19): The token is not valid; token is ignored.
  • RNF0604 (severity 20, line 23): The token is not valid; token is ignored.
  • RNF0604 (severity 20, line 29): The token is not valid; token is ignored.
  • RNF0604 (severity 20, line 34): The token is not valid; token is ignored.

test105_rla_write_upd_del

test105_rla_write_upd_del.rpgle — should be rejected (database record formats: rpgc uses the file name (RNF5063)); IBM i did not compile it.

RNF5063: Factor n operand must not be an externally described file for this operation.

  • RNF5063 (severity 30, line 93): Factor 2 operand must not be an externally described file for this operation.
  • RNF5063 (severity 30, line 105): Factor 2 operand must not be an externally described file for this operation.
  • RNF5198 (severity 30, line 114): File in Factor 2 is not allowed for UPDATE or DELETE operation.

test119_fixed_free_error

test119_fixed_free_error.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5358: The EVAL operation is missing an expression.

  • RNF5358 (severity 30, line 4): The EVAL operation is missing an expression.

test135_fixed_cspec_err_ctllevel

test135_fixed_cspec_err_ctllevel.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5002: Blank Control-Level entry follows Control-Level entry that is not blank; defaults to previous entry.

  • RNF7030 (severity 30, line 3): The name or indicator *INL1 is not defined.
  • RNF5002 (severity 20, line 4): Blank Control-Level entry follows Control-Level entry that is not blank; defaults to previous entry.

test136_fixed_cspec_err_indicator

test136_fixed_cspec_err_indicator.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5006: Not entry is neither N nor blank; defaults to blank.

  • RNF5006 (severity 20, line 3): Not entry is neither N nor blank; defaults to blank.
  • RNF5007 (severity 20, line 3): Conditioning-Indicator entry is not valid; defaults to blanks.

test137_fixed_cspec_err_deferred

test137_fixed_cspec_err_deferred.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0637: An operand was expected but was not found; specification is ignored.

  • RNF0637 (severity 30, line 3): An operand was expected but was not found; specification is ignored.
  • RNF7030 (severity 30, line 3): The name or indicator H is not defined.

test138_fixed_cspec_err_legacy

test138_fixed_cspec_err_legacy.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5053: Resulting-Indicators entry is blank for specified operation; specification is ignored.

  • RNF5053 (severity 30, line 3): Resulting-Indicators entry is blank for specified operation; specification is ignored.

test143_fixed_copy_err_missing

test143_fixed_copy_err_missing.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0273: Compiler not able to open the /COPY or /INCLUDE file; directive ignored.

  • RNF0273 (severity 40, line 2): Compiler not able to open the /COPY or /INCLUDE file; directive ignored.

test146_fixed_cspec_write_upd_del

test146_fixed_cspec_write_upd_del.rpgle — should be rejected (database record formats: rpgc uses the file name (RNF5063)); IBM i did not compile it.

RNF5063: Factor n operand must not be an externally described file for this operation.

  • RNF5063 (severity 30, line 82): Factor 2 operand must not be an externally described file for this operation.
  • RNF5063 (severity 30, line 89): Factor 2 operand must not be an externally described file for this operation.
  • RNF5198 (severity 30, line 94): File in Factor 2 is not allowed for UPDATE or DELETE operation.

test152_fixed_cspec_err_goto_in_free

test152_fixed_cspec_err_goto_in_free.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5347: An assignment operator is expected with the EVAL operation.

  • RNF5347 (severity 30, line 4): An assignment operator is expected with the EVAL operation.
  • RNF7030 (severity 30, line 4): The name or indicator GOTO is not defined.
  • RNF7030 (severity 30, line 4): The name or indicator SOMEWHERE is not defined.

test153_fixed_cspec_err_call_deferred

test153_fixed_cspec_err_call_deferred.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5010: Factor n entry is not blank for the specified operation; defaults to blanks.

  • RNF5010 (severity 20, line 3): Factor 1 entry is not blank for the specified operation; defaults to blanks.
  • RNF7030 (severity 30, line 3): The name or indicator OTHERPGM is not defined.

test160_fixed_ispec_err_matching

test160_fixed_ispec_err_matching.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF4059: Control-Levels and Matching-Fields entries are not allowed for full procedural files.

  • RNF4059 (severity 20, line 4): Control-Levels and Matching-Fields entries are not allowed for full procedural files.

test165_fixed_cspec_err_cond_block

test165_fixed_cspec_err_cond_block.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

Undefined name, cause not reported by IBM (RNF7030)

  • RNF7030 (severity 30, line 4): The name or indicator *IN10 is not defined.

test166_fixed_cspec_err_cond_ind_name

test166_fixed_cspec_err_cond_ind_name.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

Undefined name, cause not reported by IBM (RNF7030)

  • RNF7030 (severity 30, line 3): The name or indicator *INLR is not defined.

test168_fixed_cspec_err_anor_orphan

test168_fixed_cspec_err_anor_orphan.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5003: Control-Level entry of AN/OR is not valid; defaults to blanks.

  • RNF5003 (severity 20, line 3): Control-Level entry of AN/OR is not valid; defaults to blanks.
  • RNF7030 (severity 30, line 3): The name or indicator *IN20 is not defined.

test169_fixed_cspec_err_anor_dangling

test169_fixed_cspec_err_anor_dangling.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

Undefined name, cause not reported by IBM (RNF7030)

  • RNF7030 (severity 30, line 3): The name or indicator *IN10 is not defined.

test171_fixed_cspec_err_move_date_time

test171_fixed_cspec_err_move_date_time.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF7515: Move operands DFLD and TFLD have types that are not compatible.

  • RNF7515 (severity 30, line 7): Move operands DFLD and TFLD have types that are not compatible.

test172_fixed_cspec_err_move_datefmt

test172_fixed_cspec_err_move_datefmt.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

*RNF7509: Factor n entry ISO is not valid for the MOVE or MOVEL operation.

  • RNF7509 (severity 20, line 7): Factor 1 entry *ISO is not valid for the MOVE or MOVEL operation.

test173_move_err_free_format

test173_move_err_free_format.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5347: An assignment operator is expected with the EVAL operation.

  • RNF5347 (severity 30, line 4): An assignment operator is expected with the EVAL operation.
  • RNF7030 (severity 30, line 4): The name or indicator MOVE is not defined.

test176_fixed_cspec_err_plist

test176_fixed_cspec_err_plist.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5164: PLIST operation is not followed by a PARM operation; specification is ignored.

  • RNF5164 (severity 30, line 3): PLIST operation is not followed by a PARM operation; specification is ignored.

test178_fixed_cspec_err_parm_orphan

test178_fixed_cspec_err_parm_orphan.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5121: PARM operation does not immediately follow PLIST, PARM, CALL, or CALLB; specification is ignored.

  • RNF5121 (severity 30, line 3): PARM operation does not immediately follow PLIST, PARM, CALL, or CALLB; specification is ignored.

test179_call_err_free_format

test179_call_err_free_format.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5347: An assignment operator is expected with the EVAL operation.

  • RNF5347 (severity 30, line 3): An assignment operator is expected with the EVAL operation.
  • RNF7030 (severity 30, line 3): The name or indicator CALL is not defined.

test181_fixed_cspec_err_on_exit

test181_fixed_cspec_err_on_exit.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5442: The ON-EXIT operation is not allowed in a cycle-main procedure.

  • RNF5442 (severity 30, line 2): The ON-EXIT operation is not allowed in a cycle-main procedure.

test183_fixed_cspec_err_endcs_orphan

test183_fixed_cspec_err_endcs_orphan.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5141: ENDyy is specified without associated structured operation.

  • RNF5141 (severity 30, line 3): ENDyy is specified without associated structured operation.

test184_fixed_cspec_err_cas_unclosed

test184_fixed_cspec_err_cas_unclosed.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5094: ENDyy entry is missing for a CASxx entry. An END entry is inserted after the CASxx statement.

  • RNF5094 (severity 20, line 3): ENDyy entry is missing for a CASxx entry. An END entry is inserted after the CASxx statement.

test185_fixed_cspec_err_cas_mnemonic

test185_fixed_cspec_err_cas_mnemonic.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5014: Operation code is not valid; specification is ignored.

  • RNF5014 (severity 30, line 3): Operation code is not valid; specification is ignored.
  • RNF5141 (severity 30, line 4): ENDyy is specified without associated structured operation.

test187_fixed_cspec_err_comp_noind

test187_fixed_cspec_err_comp_noind.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5053: Resulting-Indicators entry is blank for specified operation; specification is ignored.

  • RNF5053 (severity 30, line 3): Resulting-Indicators entry is blank for specified operation; specification is ignored.

test189_fixed_cspec_err_endexec_orphan

test189_fixed_cspec_err_endexec_orphan.sqlrpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0274: Compiler directive not recognized; directive ignored.

  • RNF0274 (severity 30, line 3): Compiler directive not recognized; directive ignored.

test190_fixed_cspec_err_sql_unterminated

test190_fixed_cspec_err_sql_unterminated.sqlrpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

SQL1004: END-EXEC or continuation expected but not found.

  • SQL1004 (severity 30, line 3): END-EXEC or continuation expected but not found.

test194_fixed_cspec_err_move_float

test194_fixed_cspec_err_move_float.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF7547: Float variable or literal F8 is not allowed for the operation.

  • RNF7547 (severity 30, line 6): Float variable or literal F8 is not allowed for the operation.

test195_fixed_cspec_err_move_declit

test195_fixed_cspec_err_move_declit.rpgle — should compile (valid RPG; rpgc refuses MOVE of a decimal literal); IBM i compiled it.

test199_fixed_cspec_err_entry_nomain

test199_fixed_cspec_err_entry_nomain.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

*RNF5419: ENTRY PLIST is allowed only in a cycle module.

  • RNF5419 (severity 30, line 6): *ENTRY PLIST is allowed only in a cycle module.
  • RNF5418 (severity 30, line 8): The operation entry is not allowed in the main source section in a non-cycle module.

test200_fixed_cspec_err_plist_undef

test200_fixed_cspec_err_plist_undef.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF7054: The Result Field NOSUCH of the CALL or CALLB operation is not a PLIST name; the specification is ignored.

  • RNF7030 (severity 30, line 6): The name or indicator NOSUCH is not defined.
  • RNF7054 (severity 30, line 6): The Result Field NOSUCH of the CALL or CALLB operation is not a PLIST name; the specification is ignored.

test201_fixed_cspec_err_plist_dup

test201_fixed_cspec_err_plist_dup.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5119: Factor n entry of PLIST operation is already defined; parameter list is ignored.

  • RNF5119 (severity 40, line 6): Factor 1 entry of PLIST operation is already defined; parameter list is ignored.

test202_fixed_cspec_err_parm_literal

test202_fixed_cspec_err_parm_literal.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF7261: The Result-Field operand 'abc' is not valid for the specified operation.

  • RNF7261 (severity 30, line 6): The Result-Field operand 'abc' is not valid for the specified operation.

test206_fixed_cspec_err_entry_undecl

test206_fixed_cspec_err_entry_undecl.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

Undefined name, cause not reported by IBM (RNF7030)

  • RNF7030 (severity 30, line 6): The name or indicator NOTDECLARED is not defined.

test207_fixed_cspec_err_call_entry

test207_fixed_cspec_err_call_entry.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

*RNF7054: The Result Field ENTRY of the CALL or CALLB operation is not a PLIST name; the specification is ignored.

  • RNF7054 (severity 30, line 5): The Result Field *ENTRY of the CALL or CALLB operation is not a PLIST name; the specification is ignored.

test213_fixed_cspec_err_move_jobrun

test213_fixed_cspec_err_move_jobrun.rpgle — should compile (valid RPG; rpgc has no job attributes for *JOBRUN); IBM i compiled it.

test214_fixed_cspec_err_move_usa_num

test214_fixed_cspec_err_move_usa_num.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

*RNF7505: Time format USA can not be used with the numeric entry N6.

  • RNF7505 (severity 30, line 6): Time format *USA can not be used with the numeric entry N6.

test219_prog_order_release

test219_prog_order_release.sqlrpgle — should be rejected (database record formats: rpgc uses the file name (RNF5063)); IBM i did not compile it.

RNF5063: Factor n operand must not be an externally described file for this operation.

  • RNF5063 (severity 30, line 270): Factor 2 operand must not be an externally described file for this operation.
  • RNF5063 (severity 30, line 272): Factor 2 operand must not be an externally described file for this operation.
  • RNF5063 (severity 30, line 284): Factor 2 operand must not be an externally described file for this operation.
  • RNF5063 (severity 30, line 297): Factor 2 operand must not be an externally described file for this operation.

test233_err_stray_endif

test233_err_stray_endif.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0706: Directive found outside of /IF group.

  • RNF0706 (severity 30, line 3): Directive found outside of /IF group.

test234_err_copy_open_if

test234_err_copy_open_if.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0706: Directive found outside of /IF group.

  • RNF0706 (severity 30, line 3): Directive found outside of /IF group.

test238_rla_field_fit

test238_rla_field_fit.rpgle — should be rejected (database record formats: rpgc uses the file name (RNF5063)); IBM i did not compile it.

RNF5063: Factor n operand must not be an externally described file for this operation.

  • RNF5063 (severity 30, line 128): Factor 2 operand must not be an externally described file for this operation.

test241_err_eval_t

test241_err_eval_t.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5049: The Operation Extender is not valid for the specified Operation Code.

  • RNF5049 (severity 20, line 5): The Operation Extender is not valid for the specified Operation Code.

test247_err_const_assign

test247_err_const_assign.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5346: The operation modifies the field, but the field cannot be modified.

  • RNF5346 (severity 30, line 13): The operation modifies the field, but the field cannot be modified.

test255_err_div_zero_literal

test255_err_div_zero_literal.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0552: The second parameter n for %DIV is not valid; %DIV is ignored.

  • RNF0552 (severity 20, line 5): The second parameter 0 for %DIV is not valid; %DIV is ignored.

test256_err_inz_too_long

test256_err_inz_too_long.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF3431: Length of initial value 'ABCDEFG' exceeds length of field C; initial value is ignored.

  • RNF3431 (severity 20, line 4): Length of initial value 'ABCDEFG' exceeds length of field C; initial value is ignored.

test257_err_unqualified_dot

test257_err_unqualified_dot.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

Qualified reference (ds.field) to a DS that is not QUALIFIED

  • RNF7030 (severity 30, line 8): The name or indicator NAME is not defined.
  • RNF7503 (severity 30, line 8): Expression contains an operand that is not defined.

test258_err_not_numeric

test258_err_not_numeric.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF7421: Operands are not compatible with the type of operator.

  • RNF7421 (severity 30, line 6): Operands are not compatible with the type of operator.

test260_err_decl_after_calc

test260_err_decl_after_calc.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

Declaration after calculations

  • RNF0724 (severity 30, line 6): The statement type is out of sequence for the main procedure.
  • RNF7030 (severity 30, line 7): The name or indicator B is not defined.
  • RNF7503 (severity 30, line 7): Expression contains an operand that is not defined.

test261_err_decl_after_calc_proc

test261_err_decl_after_calc_proc.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0725: The statement type is out of sequence for the subprocedure.

  • RNF0725 (severity 30, line 15): The statement type is out of sequence for the subprocedure.
  • RNF7030 (severity 30, line 16): The name or indicator LATE is not defined.
  • RNF7503 (severity 30, line 16): Expression contains an operand that is not defined.

test262_err_dsply_unparen

test262_err_dsply_unparen.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0637: An operand was expected but was not found; specification is ignored.

  • RNF0637 (severity 30, line 6): An operand was expected but was not found; specification is ignored.

test263_err_dsply_too_long

test263_err_dsply_too_long.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF7016: Display length n greater than maximum allowed of n; specification is ignored.

  • RNF7016 (severity 20, line 6): Display length 56 greater than maximum allowed of 52; specification is ignored.

test264_err_pi_no_name

test264_err_pi_no_name.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5403: The prototyped call cannot be used in an expression because it does not return a value.

  • RNF5403 (severity 30, line 5): The prototyped call cannot be used in an expression because it does not return a value.
  • RNF3308 (severity 20, line 10): Keyword name is not valid; the keyword is ignored.
  • RNF0633 (severity 20, line 10): An unexpected right parenthesis was encountered; right parenthesis is ignored.
  • RNF3767 (severity 20, line 10): The name in positions 7 - 21 does not match the name of the procedure being defined.
  • RNF5412 (severity 20, line 14): An operand must not be specified for a procedure that does not return a value.

test265_err_pi_wrong_name

test265_err_pi_wrong_name.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF3767: The name in positions n - n does not match the name of the procedure being defined.

  • RNF3767 (severity 20, line 9): The name in positions 7 - 21 does not match the name of the procedure being defined.

test266_err_calc_after_subroutine

test266_err_calc_after_subroutine.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5005: Operation entry following ENDSR operation is not valid; specification is ignored.

  • RNF5005 (severity 30, line 11): Operation entry following ENDSR operation is not valid; specification is ignored.
  • RNF5005 (severity 30, line 12): Operation entry following ENDSR operation is not valid; specification is ignored.
  • RNF5005 (severity 30, line 13): Operation entry following ENDSR operation is not valid; specification is ignored.

test270_err_enum_no_value

test270_err_enum_no_value.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF3905: Keyword CONST is missing for definition of constant SMALL; specification is ignored.

  • RNF3905 (severity 30, line 5): Keyword CONST is missing for definition of constant SMALL; specification is ignored.
  • RNF7030 (severity 30, line 5): The name or indicator SMALL is not defined.

test271_err_overload_end_pr

test271_err_overload_end_pr.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF3551: END-XX is not expected.

  • RNF3551 (severity 20, line 12): END-XX is not expected.

test272_err_overload_return

test272_err_overload_return.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF3244: Return type I(n,n) does not match type A(n) VARYING(n) of overloaded prototype.

  • RNF3244 (severity 30, line 11): Return type I(10,0) does not match type A(40) VARYING(2) of overloaded prototype.

test273_err_overload_ambiguous

test273_err_overload_ambiguous.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF3246: Prototypes ABSINT and ABSFLOAT both match the call; first match assumed.

  • RNF3246 (severity 30, line 15): Prototypes ABSINT and ABSFLOAT both match the call; first match assumed.

test274_err_overload_no_match

test274_err_overload_no_match.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF3245: No prototype in the OVERLOAD keyword of FORMAT matches the call.

  • RNF3245 (severity 30, line 16): No prototype in the OVERLOAD keyword of FORMAT matches the call.

test275_err_data_into_no_parser

test275_err_data_into_no_parser.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5449: The third operand of DATA-INTO must be %PARSER.

  • RNF5449 (severity 30, line 8): The third operand of DATA-INTO must be %PARSER.

test276_err_data_gen_no_gen

test276_err_data_gen_no_gen.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5454: The third operand of DATA-GEN must be %GEN.

  • RNF5454 (severity 30, line 9): The third operand of DATA-GEN must be %GEN.
  • RNF5377 (severity 20, line 9): The end of the expression is expected.

test277_err_snd_msg_type

test277_err_snd_msg_type.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0203: THE MESSAGE-TARGET OPERAND IS NOT VALID FOR THE SND-MSG OPERATION.

  • RNF0203 (severity 30, line 4): THE MESSAGE-TARGET OPERAND IS NOT VALID FOR THE SND-MSG OPERATION.
  • RNF5377 (severity 20, line 4): The end of the expression is expected.
  • RNF7030 (severity 30, line 4): The name or indicator TYPE is not defined.

test278_err_eval_extender

test278_err_eval_extender.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5049: The Operation Extender is not valid for the specified Operation Code.

  • RNF5049 (severity 20, line 5): The Operation Extender is not valid for the specified Operation Code.

test279_err_evalr_extender

test279_err_evalr_extender.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5049: The Operation Extender is not valid for the specified Operation Code.

  • RNF5049 (severity 20, line 5): The Operation Extender is not valid for the specified Operation Code.

test280_err_lookup_unsequenced

test280_err_lookup_unsequenced.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0592: The second parameter NUMS for %LOOKUPxx must be a sequenced array.

  • RNF0592 (severity 20, line 9): The second parameter NUMS for %LOOKUPxx must be a sequenced array.

test281_err_tlookup_not_table

test281_err_tlookup_not_table.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5343: Array CODES has too many omitted indexes.

  • RNF5343 (severity 30, line 7): Array CODES has too many omitted indexes.
  • RNF0597 (severity 20, line 7): The second parameter CODES for %TLOOKUPxx is not valid.

test284_err_elem_over_max

test284_err_elem_over_max.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF7563: The expression is not valid for assignment to built-in function %LEN or %ELEM.

  • RNF7563 (severity 30, line 5): The expression is not valid for assignment to built-in function %LEN or %ELEM.

test285_err_user_expression

test285_err_user_expression.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF7416: The types of the right and left hand side do not match in the EVAL operation.

  • RNF7416 (severity 30, line 5): The types of the right and left hand side do not match in the EVAL operation.

test286_err_assign_type

test286_err_assign_type.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF7416: The types of the right and left hand side do not match in the EVAL operation.

  • RNF7416 (severity 30, line 5): The types of the right and left hand side do not match in the EVAL operation.

test287_err_unlock_lda

test287_err_unlock_lda.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF7091: The Factor n operand is a Local-Data Area for UNLOCK operation.

  • RNF7091 (severity 30, line 6): The Factor 2 operand is a Local-Data Area for UNLOCK operation.

test288_err_dtaara_name_length

test288_err_dtaara_name_length.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0653: Library or object name exceeds n characters.

  • RNF0653 (severity 20, line 4): Library or object name exceeds 10 characters.
  • RNF7064 (severity 30, line 5): The Factor 2 operand DA of IN or OUT is not a data area.

test289_err_test_no_e

test289_err_test_no_e.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5056: Either the error indicator or the E operation extender must be specified for the TEST operation.

  • RNF5056 (severity 30, line 5): Either the error indicator or the E operation extender must be specified for the TEST operation.

test290_err_test_d_on_date

test290_err_test_d_on_date.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF7523: Operation-Code extender D, T, or Z cannot be used with Result-Field entry D.

  • RNF7523 (severity 20, line 6): Operation-Code extender D, T, or Z cannot be used with Result-Field entry D.

test291_err_two_statements_line

test291_err_two_statements_line.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5508: End of free-format statement is not blank.

  • RNF5508 (severity 30, line 6): End of free-format statement is not blank.

test292_err_write_program_described

test292_err_write_program_described.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5191: The Result-Field is not a data structure when Factor n is a file name.

  • RNF5191 (severity 30, line 8): The Result-Field is not a data structure when Factor 2 is a file name.

test293_err_ospec_no_type

test293_err_ospec_no_type.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF7026: An operand is not specified on EXCEPT operation but there is no EXCEPT without a name.

  • RNF7026 (severity 30, line 7): An operand is not specified on EXCEPT operation but there is no EXCEPT without a name.
  • RNF6005 (severity 20, line 10): The Type entry is not H, D, T, or E; defaults to D.

test294_err_spec_order

test294_err_spec_order.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0257: Form-Type entry for main procedure not valid or out of sequence.

  • RNF0257 (severity 30, line 9): Form-Type entry for main procedure not valid or out of sequence.

test295_err_fspec_designation

test295_err_fspec_designation.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF2093: Blank File-Designation entry is not valid with File-Type entry; defaults to F.

  • RNF2093 (severity 20, line 3): Blank File-Designation entry is not valid with File-Type entry; defaults to F.

test296_err_move_date_too_small

test296_err_move_date_too_small.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

*RNF7512: The Result Field entry C6 is too small to contain a complete ISO- Date.

  • RNF7512 (severity 30, line 7): The Result Field entry C6 is too small to contain a complete *ISO- Date.

test297_err_like_qualified_sibling

test297_err_like_qualified_sibling.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

LIKE naming a sibling subfield without its DS qualifier

  • RNF7030 (severity 30, line 7): The name or indicator PRICE is not defined.
  • RNF7030 (severity 30, line 7): The name or indicator UNITPRICE is not defined.
  • RNF7503 (severity 30, line 9): Expression contains an operand that is not defined.
  • RNF7503 (severity 30, line 10): Expression contains an operand that is not defined.

test298_err_fixed_pos

test298_err_fixed_pos.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF3555: The keyword is not allowed in fixed-form definitions. The keyword is ignored.

  • RNF3555 (severity 20, line 6): The keyword is not allowed in fixed-form definitions. The keyword is ignored.

test299_err_cab_no_factors

test299_err_cab_no_factors.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5009: Factor n operand is required for specified operation.

  • RNF5009 (severity 30, line 4): Factor 1 operand is required for specified operation.
  • RNF5023 (severity 30, line 4): Factor 2 operand is not specified for this operation.

test300_err_copy_not_free

test300_err_copy_not_free.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

Undefined name, cause not reported by IBM (RNF7030)

  • RNF7030 (severity 30, line 6): The name or indicator FROMCOPY is not defined.
  • RNF7503 (severity 30, line 6): Expression contains an operand that is not defined.

test301_err_name_continuation

test301_err_name_continuation.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0622: A qualified name is not allowed in this context.

  • RNF0622 (severity 20, line 5): A qualified name is not allowed in this context.
  • RNF0623 (severity 20, line 5): The simple qualified name is not specified correctly.
  • RNF0289 (severity 20, line 5): Entry contains data that is not valid; only valid data is used.
  • RNF7030 (severity 30, line 7): The name or indicator CUSTOMERNUMBER is not defined.
  • RNF7503 (severity 30, line 7): Expression contains an operand that is not defined.

test304_err_editc_variable

test304_err_editc_variable.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0355: The second parameter CODE for %EDITC is not a character constant of length n.

  • RNF0355 (severity 20, line 7): The second parameter CODE for %EDITC is not a character constant of length 1.

test307_err_opcode_name_assign

test307_err_opcode_name_assign.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5008: Factor n operand is not valid; defaults to blanks.

  • RNF5008 (severity 20, line 6): Factor 1 operand is not valid; defaults to blanks.
  • RNF7260 (severity 30, line 6): The Factor 2 operand 5 is not valid for the specified operation.

test308_err_opcode_subfield

test308_err_opcode_subfield.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF3556: END-DS statement missing for a group containing free-form statements.

  • RNF3556 (severity 20, line 5): END-DS statement missing for a group containing free-form statements.
  • RNF7030 (severity 30, line 6): The name or indicator INT is not defined.
  • RNF7503 (severity 30, line 6): Expression contains an operand that is not defined.
  • RNF0724 (severity 30, line 7): The statement type is out of sequence for the main procedure.

test309_err_not_name

test309_err_not_name.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF3301: The Name entry is not valid; specification ignored.

  • RNF3301 (severity 30, line 3): The Name entry is not valid; specification ignored.

test324_err_proto_mismatch

test324_err_proto_mismatch.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF7535: The type and attributes of parameter n do not match those of the prototype.

  • RNF7535 (severity 30, line 8): The type and attributes of parameter 1 do not match those of the prototype.

test325_err_const_likeds

test325_err_const_likeds.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5346: The operation modifies the field, but the field cannot be modified.

  • RNF5346 (severity 30, line 18): The operation modifies the field, but the field cannot be modified.

test326_err_byref_size

test326_err_byref_size.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF7535: The type and attributes of parameter n do not match those of the prototype.

  • RNF7535 (severity 30, line 8): The type and attributes of parameter 1 do not match those of the prototype.

test332_extfile_usropn

test332_extfile_usropn.rpgle — should be rejected (OpenRPG extension: EXTFILE names a host file path; IBM i wants LIB/FILE, 10 characters each (RNF0652)); IBM i did not compile it.

RNF0652: Library or file name exceeds n characters.

  • RNF0652 (severity 20, line 5): Library or file name exceeds 10 characters.

test334_free_dclf_disk_len

test334_free_dclf_disk_len.rpgle — should be rejected (OpenRPG extension: EXTFILE names a host file path; IBM i wants LIB/FILE, 10 characters each (RNF0652)); IBM i did not compile it.

RNF0652: Library or file name exceeds n characters.

  • RNF0652 (severity 20, line 5): Library or file name exceeds 10 characters.
  • RNF0652 (severity 20, line 6): Library or file name exceeds 10 characters.

test349_err_exec_sql_split

test349_err_exec_sql_split.sqlrpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5347: An assignment operator is expected with the EVAL operation.

  • RNF7030 (severity 30, line 5): The name or indicator EXEC is not defined.
  • RNF5347 (severity 30, line 6): An assignment operator is expected with the EVAL operation.
  • RNF7030 (severity 30, line 6): The name or indicator SQL is not defined.

test350_block_comments

test350_block_comments.rpgle — should be rejected (OpenRPG extension: block comments; IBM i has only //); IBM i did not compile it.

Declaration after calculations

  • RNF0274 (severity 30, line 4): Compiler directive not recognized; directive ignored.
  • RNF5347 (severity 30, line 5): An assignment operator is expected with the EVAL operation.
  • RNF5508 (severity 30, line 5): End of free-format statement is not blank.
  • RNF7030 (severity 30, line 5): The name or indicator ACROSS is not defined.
  • RNF7030 (severity 30, line 5): The name or indicator SEVERAL is not defined.

test351_fixed_block_comments

test351_fixed_block_comments.rpgle — should be rejected (OpenRPG extension: block comments; IBM i has only //); IBM i did not compile it.

RNF0274: Compiler directive not recognized; directive ignored.

  • RNF0274 (severity 30, line 5): Compiler directive not recognized; directive ignored.
  • RNF5507 (severity 30, line 6): A semi-colon is not specified at the end of a free-format statement.
  • RNF7030 (severity 30, line 6): The name or indicator A is not defined.
  • RNF7030 (severity 30, line 6): The name or indicator BLOCK is not defined.
  • RNF7030 (severity 30, line 6): The name or indicator FREE is not defined.

test352_err_block_comment_open

test352_err_block_comment_open.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0274: Compiler directive not recognized; directive ignored.

  • RNF0274 (severity 30, line 4): Compiler directive not recognized; directive ignored.

test353_err_fkey_no_workstn

test353_err_fkey_no_workstn.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 5): The token is not valid; token is ignored.
  • RNF5358 (severity 30, line 5): The EVAL operation is missing an expression.

test354_dcl_s_names

test354_dcl_s_names.rpgle — should be rejected (OpenRPG extension: several names in one DCL-S; IBM i takes one); IBM i did not compile it.

RNF3308: Keyword name is not valid; the keyword is ignored.

  • RNF3308 (severity 20, line 5): Keyword name is not valid; the keyword is ignored.
  • RNF3308 (severity 20, line 6): Keyword name is not valid; the keyword is ignored.
  • RNF3308 (severity 20, line 7): Keyword name is not valid; the keyword is ignored.
  • RNF3308 (severity 20, line 8): Keyword name is not valid; the keyword is ignored.
  • RNF3308 (severity 20, line 9): Keyword name is not valid; the keyword is ignored.

test355_fstring

test355_fstring.rpgle — should be rejected (OpenRPG extension: interpolated strings); IBM i did not compile it.

RNF5377: The end of the expression is expected.

  • RNF5377 (severity 20, line 12): The end of the expression is expected.
  • RNF7030 (severity 30, line 12): The name or indicator F is not defined.
  • RNF7503 (severity 30, line 14): Expression contains an operand that is not defined.
  • RNF7503 (severity 30, line 15): Expression contains an operand that is not defined.
  • RNF7503 (severity 30, line 16): Expression contains an operand that is not defined.

test356_err_fstring_open

test356_err_fstring_open.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5377: The end of the expression is expected.

  • RNF5377 (severity 20, line 5): The end of the expression is expected.
  • RNF7030 (severity 30, line 5): The name or indicator F is not defined.

test357_err_fstring_empty

test357_err_fstring_empty.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5377: The end of the expression is expected.

  • RNF5377 (severity 20, line 4): The end of the expression is expected.
  • RNF7030 (severity 30, line 4): The name or indicator F is not defined.

test358_nested_proc

test358_nested_proc.rpgle — should be rejected (OpenRPG extension: procedures inside procedures); IBM i did not compile it.

RNF1502: The Procedure specification ending the previous procedure is missing.

  • RNF1502 (severity 20, line 11): The Procedure specification ending the previous procedure is missing.
  • RNF1502 (severity 20, line 51): The Procedure specification ending the previous procedure is missing.
  • RNF7030 (severity 30, line 55): The name or indicator N is not defined.
  • RNF7503 (severity 30, line 55): Expression contains an operand that is not defined.
  • RNF1509 (severity 30, line 63): Procedure-End specification has no associated Procedure-Begin specification.

test359_err_nested_proc_scope

test359_err_nested_proc_scope.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF1502: The Procedure specification ending the previous procedure is missing.

  • RNF1502 (severity 20, line 6): The Procedure specification ending the previous procedure is missing.
  • RNF1509 (severity 30, line 13): Procedure-End specification has no associated Procedure-Begin specification.

test360_not_in

test360_not_in.rpgle — should be rejected (OpenRPG extension: NOT IN); IBM i did not compile it.

RNF5377: The end of the expression is expected.

  • RNF5377 (severity 20, line 14): The end of the expression is expected.
  • RNF0312 (severity 20, line 17): A right parenthesis is expected but is not found.
  • RNF5377 (severity 20, line 17): The end of the expression is expected.
  • RNF5377 (severity 20, line 20): The end of the expression is expected.
  • RNF5377 (severity 20, line 23): The end of the expression is expected.

test362_regex

test362_regex.rpgle — should be rejected (OpenRPG extension: regular-expression BIFs); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 10): The token is not valid; token is ignored.
  • RNF0312 (severity 20, line 10): A right parenthesis is expected but is not found.
  • RNF5377 (severity 20, line 10): The end of the expression is expected.
  • RNF0604 (severity 20, line 13): The token is not valid; token is ignored.
  • RNF0312 (severity 20, line 13): A right parenthesis is expected but is not found.

test363_err_regex_literal

test363_err_regex_literal.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 4): The token is not valid; token is ignored.
  • RNF0312 (severity 20, line 4): A right parenthesis is expected but is not found.
  • RNF5377 (severity 20, line 4): The end of the expression is expected.

test364_subst_nolenchk

test364_subst_nolenchk.rpgle — should be rejected (OpenRPG extension: OPTION(*NOLENCHK)); IBM i did not compile it.

RNF1331: The parameter for keyword OPTION is not valid; parameter is ignored.

  • RNF1331 (severity 20, line 5): The parameter for keyword OPTION is not valid; parameter is ignored.

test365_fixed_subst_nolenchk

test365_fixed_subst_nolenchk.rpgle — should be rejected (OpenRPG extension: OPTION(*NOLENCHK)); IBM i did not compile it.

RNF1331: The parameter for keyword OPTION is not valid; parameter is ignored.

  • RNF1331 (severity 20, line 1): The parameter for keyword OPTION is not valid; parameter is ignored.
  • RNF0365 (severity 20, line 6): The third parameter 20 for %SUBST is too big; parameter is ignored.

test366_char_nozero

test366_char_nozero.rpgle — should be rejected (OpenRPG extension: %CHAR(n : *NOZEROSUPPRESS)); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 11): The token is not valid; token is ignored.
  • RNF0637 (severity 30, line 11): An operand was expected but was not found; specification is ignored.
  • RNF0604 (severity 20, line 12): The token is not valid; token is ignored.
  • RNF0637 (severity 30, line 12): An operand was expected but was not found; specification is ignored.
  • RNF0604 (severity 20, line 13): The token is not valid; token is ignored.

test367_err_char_nozero_expr

test367_err_char_nozero_expr.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 5): The token is not valid; token is ignored.
  • RNF0637 (severity 30, line 5): An operand was expected but was not found; specification is ignored.

test369_if_directive_and_or

test369_if_directive_and_or.rpgle — should be rejected (OpenRPG extension: AND/OR/NOT in /IF); IBM i did not compile it.

RNF0275: Field required to be blank is not blank; defaults to blank.

  • RNF0275 (severity 20, line 6): Field required to be blank is not blank; defaults to blank.
  • RNF0275 (severity 20, line 9): Field required to be blank is not blank; defaults to blank.
  • RNF0701 (severity 30, line 11): The conditional expression is not valid.
  • RNF0701 (severity 30, line 16): The conditional expression is not valid.
  • RNF0275 (severity 20, line 19): Field required to be blank is not blank; defaults to blank.

test370_fixed_if_and_or

test370_fixed_if_and_or.rpgle — should be rejected (OpenRPG extension: AND/OR/NOT in /IF); IBM i did not compile it.

RNF0275: Field required to be blank is not blank; defaults to blank.

  • RNF0275 (severity 20, line 3): Field required to be blank is not blank; defaults to blank.
  • RNF0275 (severity 20, line 9): Field required to be blank is not blank; defaults to blank.

test371_err_if_directive

test371_err_if_directive.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0275: Field required to be blank is not blank; defaults to blank.

  • RNF0275 (severity 20, line 3): Field required to be blank is not blank; defaults to blank.

test372_true_false

test372_true_false.rpgle — should be rejected (OpenRPG extension: *TRUE and *FALSE); IBM i did not compile it.

RNF3429: Initial value is not valid; parameter is ignored.

  • RNF3429 (severity 20, line 4): Initial value is not valid; parameter is ignored.
  • RNF3429 (severity 20, line 5): Initial value is not valid; parameter is ignored.
  • RNF0604 (severity 20, line 6): The token is not valid; token is ignored.
  • RNF5377 (severity 20, line 6): The end of the expression is expected.
  • RNF7030 (severity 30, line 6): The name or indicator AND is not defined.

test373_fixed_true_false

test373_fixed_true_false.rpgle — should be rejected (OpenRPG extension: *TRUE and *FALSE); IBM i did not compile it.

RNF3429: Initial value is not valid; parameter is ignored.

  • RNF3429 (severity 20, line 3): Initial value is not valid; parameter is ignored.
  • RNF3429 (severity 20, line 4): Initial value is not valid; parameter is ignored.
  • RNF0604 (severity 20, line 5): The token is not valid; token is ignored.
  • RNF5377 (severity 20, line 5): The end of the expression is expected.
  • RNF7030 (severity 30, line 5): The name or indicator AND is not defined.

test375_err_dup_dcl_s

test375_err_dup_dcl_s.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF3316: The item has already been defined on a Definition Specification; specification is ignored.

  • RNF3316 (severity 30, line 4): The item has already been defined on a Definition Specification; specification is ignored.

test376_err_dup_param_local

test376_err_dup_param_local.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF3316: The item has already been defined on a Definition Specification; specification is ignored.

  • RNF3316 (severity 30, line 11): The item has already been defined on a Definition Specification; specification is ignored.

test377_err_undefined_proc

test377_err_undefined_proc.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

Undefined name, cause not reported by IBM (RNF7030)

  • RNF7030 (severity 30, line 4): The name or indicator NOSUCH is not defined.
  • RNF7503 (severity 30, line 4): Expression contains an operand that is not defined.

test381_err_subst_target_num

test381_err_subst_target_num.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0361: The first parameter N for %SUBST is not valid; built-in function is ignored.

  • RNF0361 (severity 20, line 4): The first parameter N for %SUBST is not valid; built-in function is ignored.

test382_err_subst_len_literal

test382_err_subst_len_literal.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0365: The third parameter n for %SUBST is too big; parameter is ignored.

  • RNF0365 (severity 20, line 5): The third parameter 5 for %SUBST is too big; parameter is ignored.

test383_err_subst_start_literal

test383_err_subst_start_literal.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0364: The start position n for %SUBST is greater than string length n; %SUBST is ignored.

  • RNF0364 (severity 20, line 5): The start position 11 for %SUBST is greater than string length 10; %SUBST is ignored.

test386_if_bif

test386_if_bif.rpgle — should be rejected (OpenRPG extension: %IF); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 15): The token is not valid; token is ignored.
  • RNF0312 (severity 20, line 15): A right parenthesis is expected but is not found.
  • RNF5377 (severity 20, line 15): The end of the expression is expected.
  • RNF0604 (severity 20, line 17): The token is not valid; token is ignored.
  • RNF0312 (severity 20, line 17): A right parenthesis is expected but is not found.

test387_err_if_bif_types

test387_err_if_bif_types.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 5): The token is not valid; token is ignored.
  • RNF0312 (severity 20, line 5): A right parenthesis is expected but is not found.
  • RNF5377 (severity 20, line 5): The end of the expression is expected.

test388_err_if_bif_cond

test388_err_if_bif_cond.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 4): The token is not valid; token is ignored.
  • RNF0312 (severity 20, line 4): A right parenthesis is expected but is not found.
  • RNF5377 (severity 20, line 4): The end of the expression is expected.

test390_keyword_args

test390_keyword_args.rpgle — should be rejected (OpenRPG extension: keyword arguments); IBM i did not compile it.

RNF0637: An operand was expected but was not found; specification is ignored.

  • RNF0637 (severity 30, line 11): An operand was expected but was not found; specification is ignored.
  • RNF7030 (severity 30, line 11): The name or indicator NAME is not defined.
  • RNF0637 (severity 30, line 12): An operand was expected but was not found; specification is ignored.
  • RNF7030 (severity 30, line 12): The name or indicator TITLE is not defined.
  • RNF0637 (severity 30, line 13): An operand was expected but was not found; specification is ignored.

test391_err_kwarg_unknown

test391_err_kwarg_unknown.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0637: An operand was expected but was not found; specification is ignored.

  • RNF0637 (severity 30, line 7): An operand was expected but was not found; specification is ignored.
  • RNF7030 (severity 30, line 7): The name or indicator A is not defined.
  • RNF7030 (severity 30, line 7): The name or indicator C is not defined.

test392_err_kwarg_twice

test392_err_kwarg_twice.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0637: An operand was expected but was not found; specification is ignored.

  • RNF0637 (severity 30, line 7): An operand was expected but was not found; specification is ignored.
  • RNF7030 (severity 30, line 7): The name or indicator A is not defined.

test393_err_kwarg_missing

test393_err_kwarg_missing.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0637: An operand was expected but was not found; specification is ignored.

  • RNF0637 (severity 30, line 7): An operand was expected but was not found; specification is ignored.
  • RNF7030 (severity 30, line 7): The name or indicator B is not defined.

test394_err_kwarg_order

test394_err_kwarg_order.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0637: An operand was expected but was not found; specification is ignored.

  • RNF0637 (severity 30, line 7): An operand was expected but was not found; specification is ignored.
  • RNF7030 (severity 30, line 7): The name or indicator A is not defined.

test395_err_omit_value

test395_err_omit_value.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

**RNF3753: OPTIONS(*OMIT), OPTIONS(VARSIZE), and OPTIONS(NULLIND) are not valid for a parameter passed by value.

  • RNF3753 (severity 20, line 4): OPTIONS(*OMIT), OPTIONS(*VARSIZE), and OPTIONS(*NULLIND) are not valid for a parameter passed by value.
  • RNF5408 (severity 30, line 6): *OMIT is not valid for parameter 1.
  • RNF3753 (severity 20, line 12): OPTIONS(*OMIT), OPTIONS(*VARSIZE), and OPTIONS(*NULLIND) are not valid for a parameter passed by value.

test397_scanrpl_first_last

test397_scanrpl_first_last.rpgle — should be rejected (OpenRPG extension: %SCANRPL *FIRST and *LAST); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 7): The token is not valid; token is ignored.
  • RNF0637 (severity 30, line 7): An operand was expected but was not found; specification is ignored.
  • RNF0604 (severity 20, line 9): The token is not valid; token is ignored.
  • RNF0637 (severity 30, line 9): An operand was expected but was not found; specification is ignored.
  • RNF0604 (severity 20, line 11): The token is not valid; token is ignored.

test400_options_upper_lower

test400_options_upper_lower.rpgle — should be rejected (OpenRPG extension: OPTIONS(*UPPER) and OPTIONS(*LOWER)); IBM i did not compile it.

RNF3744: The parameter for keyword OPTIONS is not valid; the parameter is ignored.

  • RNF3744 (severity 20, line 6): The parameter for keyword OPTIONS is not valid; the parameter is ignored.
  • RNF3744 (severity 20, line 9): The parameter for keyword OPTIONS is not valid; the parameter is ignored.
  • RNF3308 (severity 20, line 9): Keyword name is not valid; the keyword is ignored.
  • RNF0633 (severity 20, line 9): An unexpected right parenthesis was encountered; right parenthesis is ignored.
  • RNF3744 (severity 20, line 20): The parameter for keyword OPTIONS is not valid; the parameter is ignored.

test401_err_options_upper_ref

test401_err_options_upper_ref.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF3744: The parameter for keyword OPTIONS is not valid; the parameter is ignored.

  • RNF3744 (severity 20, line 4): The parameter for keyword OPTIONS is not valid; the parameter is ignored.
  • RNF3744 (severity 20, line 13): The parameter for keyword OPTIONS is not valid; the parameter is ignored.

test402_dynamic_char

test402_dynamic_char.rpgle — should be rejected (OpenRPG extension: CHAR with no length); IBM i did not compile it.

RNF0603: Keyword CHAR requires at least one parameter, but none were specified; keyword is ignored.

  • RNF0603 (severity 20, line 4): Keyword CHAR requires at least one parameter, but none were specified; keyword is ignored.
  • RNF0603 (severity 20, line 5): Keyword CHAR requires at least one parameter, but none were specified; keyword is ignored.
  • RNF3431 (severity 20, line 5): Length of initial value 'Hello' exceeds length of field GREETING; initial value is ignored.
  • RNF7421 (severity 30, line 9): Operands are not compatible with the type of operator.
  • RNF0364 (severity 20, line 12): The start position 991 for %SUBST is greater than string length 1; %SUBST is ignored.

test403_err_dynamic_char_subf

test403_err_dynamic_char_subf.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0603: Keyword CHAR requires at least one parameter, but none were specified; keyword is ignored.

  • RNF0603 (severity 20, line 4): Keyword CHAR requires at least one parameter, but none were specified; keyword is ignored.

test404_err_dynamic_char_pgm

test404_err_dynamic_char_pgm.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0603: Keyword CHAR requires at least one parameter, but none were specified; keyword is ignored.

  • RNF0603 (severity 20, line 4): Keyword CHAR requires at least one parameter, but none were specified; keyword is ignored.
  • RNF0603 (severity 20, line 6): Keyword CHAR requires at least one parameter, but none were specified; keyword is ignored.

test405_inz_list

test405_inz_list.rpgle — should be rejected (OpenRPG extension: INZ(%LIST) on an array); IBM i did not compile it.

RNF0314: Built-in function %LIST(n:n:n:n) does not have a value known at compile-time; built-in function is ignored.

  • RNF0314 (severity 20, line 5): Built-in function %LIST(1:2:3:4) does not have a value known at compile-time; built-in function is ignored.
  • RNF0314 (severity 20, line 6): Built-in function %LIST('A':'BB':'CCC') does not have a value known at compile-time; built-in function is ignored.
  • RNF0314 (severity 20, line 7): Built-in function %LIST(1.5:2.25) does not have a value known at compile-time; built-in function is ignored.
  • RNF0314 (severity 20, line 8): Built-in function %LIST('Ada':'Grace') does not have a value known at compile-time; built-in function is ignored.

test406_err_inz_list_long

test406_err_inz_list_long.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0314: Built-in function %LIST(n:n:n) does not have a value known at compile-time; built-in function is ignored.

  • RNF0314 (severity 20, line 3): Built-in function %LIST(1:2:3) does not have a value known at compile-time; built-in function is ignored.

test407_err_inz_list_value

test407_err_inz_list_value.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0314: Built-in function %LIST('ok':'long') does not have a value known at compile-time; built-in function is ignored.

  • RNF0314 (severity 20, line 3): Built-in function %LIST('ok':'long') does not have a value known at compile-time; built-in function is ignored.

test409_xfoot_ds_column

test409_xfoot_ds_column.rpgle — should be rejected (OpenRPG extension: %XFOOT, %MAXARR and IN over ds(*).subfield); IBM i did not compile it.

RNF7591: An operand of a qualified name expression is not valid.

  • RNF7591 (severity 30, line 9): An operand of a qualified name expression is not valid.
  • RNF0555 (severity 20, line 9): The parameter AMT for %XFOOT is not valid; %XFOOT is ignored.
  • RNF5343 (severity 30, line 11): Array ORD has too many omitted indexes.
  • RNF0747 (severity 30, line 11): Operand AMT is not valid following the 'IN' operator.

test410_err_ds_column_not_array

test410_err_ds_column_not_array.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0528: Index is not allowed for name D that is not an array; index is ignored.

  • RNF0528 (severity 20, line 6): Index is not allowed for name D that is not an array; index is ignored.
  • RNF0571 (severity 20, line 6): The second parameter A for %LOOKUPxx is not valid.

test411_compcorr

test411_compcorr.rpgle — should be rejected (OpenRPG extension: %COMPCORR); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 27): The token is not valid; token is ignored.
  • RNF0312 (severity 20, line 27): A right parenthesis is expected but is not found.
  • RNF5377 (severity 20, line 27): The end of the expression is expected.
  • RNF0604 (severity 20, line 32): The token is not valid; token is ignored.
  • RNF0312 (severity 20, line 32): A right parenthesis is expected but is not found.

test412_err_compcorr_types

test412_err_compcorr_types.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 9): The token is not valid; token is ignored.
  • RNF0312 (severity 20, line 9): A right parenthesis is expected but is not found.
  • RNF5377 (severity 20, line 9): The end of the expression is expected.

test413_err_compcorr_count

test413_err_compcorr_count.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 10): The token is not valid; token is ignored.
  • RNF0312 (severity 20, line 10): A right parenthesis is expected but is not found.
  • RNF5377 (severity 20, line 10): The end of the expression is expected.

test415_deprecated

test415_deprecated.rpgle — should be rejected (OpenRPG extension: DEPRECATED); IBM i did not compile it.

RNF3308: Keyword name is not valid; the keyword is ignored.

  • RNF3308 (severity 20, line 5): Keyword name is not valid; the keyword is ignored.
  • RNF0312 (severity 20, line 5): A right parenthesis is expected but is not found.
  • RNF0633 (severity 20, line 5): An unexpected right parenthesis was encountered; right parenthesis is ignored.
  • RNF0267 (severity 20, line 5): Character literal has missing trailing apostrophe; trailing apostrophe assumed.
  • RNF3308 (severity 20, line 6): Keyword name is not valid; the keyword is ignored.

test416_lookup_kds

test416_lookup_kds.rpgle — should be rejected (OpenRPG extension: %LOOKUP(%KDS(key) : ds(*))); IBM i did not compile it.

RNF0637: An operand was expected but was not found; specification is ignored.

  • RNF0637 (severity 30, line 28): An operand was expected but was not found; specification is ignored.
  • RNF0637 (severity 30, line 29): An operand was expected but was not found; specification is ignored.
  • RNF0637 (severity 30, line 30): An operand was expected but was not found; specification is ignored.
  • RNF0637 (severity 30, line 32): An operand was expected but was not found; specification is ignored.
  • RNF0312 (severity 20, line 32): A right parenthesis is expected but is not found.

test417_err_lookup_kds_field

test417_err_lookup_kds_field.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0637: An operand was expected but was not found; specification is ignored.

  • RNF0637 (severity 30, line 9): An operand was expected but was not found; specification is ignored.

test418_repeat

test418_repeat.rpgle — should be rejected (OpenRPG extension: %REPEAT); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 7): The token is not valid; token is ignored.
  • RNF0312 (severity 20, line 7): A right parenthesis is expected but is not found.
  • RNF5377 (severity 20, line 7): The end of the expression is expected.
  • RNF0604 (severity 20, line 9): The token is not valid; token is ignored.
  • RNF0312 (severity 20, line 9): A right parenthesis is expected but is not found.

test419_err_repeat_fig

test419_err_repeat_fig.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 4): The token is not valid; token is ignored.
  • RNF0312 (severity 20, line 4): A right parenthesis is expected but is not found.
  • RNF5377 (severity 20, line 4): The end of the expression is expected.

test420_param_default

test420_param_default.rpgle — should be rejected (OpenRPG extension: DEFAULT on a parameter); IBM i did not compile it.

RNF3308: Keyword name is not valid; the keyword is ignored.

  • RNF3308 (severity 20, line 7): Keyword name is not valid; the keyword is ignored.
  • RNF3308 (severity 20, line 8): Keyword name is not valid; the keyword is ignored.
  • RNF3308 (severity 20, line 11): Keyword name is not valid; the keyword is ignored.
  • RNF3308 (severity 20, line 12): Keyword name is not valid; the keyword is ignored.
  • RNF3308 (severity 20, line 16): Keyword name is not valid; the keyword is ignored.

test421_err_param_default_required

test421_err_param_default_required.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF3308: Keyword name is not valid; the keyword is ignored.

  • RNF3308 (severity 20, line 4): Keyword name is not valid; the keyword is ignored.
  • RNF3308 (severity 20, line 12): Keyword name is not valid; the keyword is ignored.

test422_progname

test422_progname.rpgle — should be rejected (OpenRPG extension: %PROGNAME); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 4): The token is not valid; token is ignored.
  • RNF5136 (severity 30, line 4): Factor 1 operand or Result-Field operand not specified for DSPLY operation.
  • RNF0604 (severity 20, line 5): The token is not valid; token is ignored.
  • RNF0637 (severity 30, line 5): An operand was expected but was not found; specification is ignored.
  • RNF0604 (severity 20, line 11): The token is not valid; token is ignored.

test424_binary_literal

test424_binary_literal.rpgle — should be rejected (OpenRPG extension: binary literals); IBM i did not compile it.

RNF5377: The end of the expression is expected.

  • RNF5377 (severity 20, line 6): The end of the expression is expected.
  • RNF7030 (severity 30, line 6): The name or indicator B is not defined.
  • RNF5377 (severity 20, line 9): The end of the expression is expected.
  • RNF5377 (severity 20, line 12): The end of the expression is expected.
  • RNF0313 (severity 20, line 14): A colon is expected but is not found; colon assumed.

test425_err_binary_literal

test425_err_binary_literal.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5377: The end of the expression is expected.

  • RNF5377 (severity 20, line 4): The end of the expression is expected.
  • RNF7030 (severity 30, line 4): The name or indicator B is not defined.

test427_foreach_index

test427_foreach_index.rpgle — should be rejected (OpenRPG extension: FOR-EACH INDEX); IBM i did not compile it.

RNF0314: Built-in function %LIST(n:n:n) does not have a value known at compile-time; built-in function is ignored.

  • RNF0314 (severity 20, line 7): Built-in function %LIST(5:7:9) does not have a value known at compile-time; built-in function is ignored.
  • RNF5377 (severity 20, line 12): The end of the expression is expected.
  • RNF7030 (severity 30, line 12): The name or indicator INDEX is not defined.
  • RNF5377 (severity 20, line 15): The end of the expression is expected.

test428_err_foreach_index_type

test428_err_foreach_index_type.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5377: The end of the expression is expected.

  • RNF5377 (severity 20, line 6): The end of the expression is expected.
  • RNF7030 (severity 30, line 6): The name or indicator INDEX is not defined.

test429_compare_proc

test429_compare_proc.rpgle — should be rejected (OpenRPG extension: a comparison procedure for SORTA and %LOOKUP); IBM i did not compile it.

RNF5377: The end of the expression is expected.

  • RNF5377 (severity 20, line 21): The end of the expression is expected.
  • RNF0317 (severity 20, line 26): Too many parameters are specified for this built-in function.
  • RNF5106 (severity 30, line 26): Data structure array ITEMS must be specified in the form DS_ARRAY(*).KEY_SUBF.
  • RNF0317 (severity 20, line 28): Too many parameters are specified for this built-in function.
  • RNF5106 (severity 30, line 28): Data structure array ITEMS must be specified in the form DS_ARRAY(*).KEY_SUBF.

test430_err_compare_proc

test430_err_compare_proc.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF5377: The end of the expression is expected.

  • RNF5377 (severity 20, line 4): The end of the expression is expected.
  • RNF7451 (severity 30, line 4): Built-in function %PADDR(NOSUCH) is not defined; built-in function is ignored.
  • RNF7030 (severity 30, line 4): The name or indicator NOSUCH is not defined.

test432_when_is_not

test432_when_is_not.rpgle — should be rejected (OpenRPG extension: WHEN-IS-NOT and WHEN-NOT-IN); IBM i did not compile it.

RNF5347: An assignment operator is expected with the EVAL operation.

  • RNF5347 (severity 30, line 12): An assignment operator is expected with the EVAL operation.
  • RNF7030 (severity 30, line 12): The name or indicator WHEN is not defined.
  • RNF5347 (severity 30, line 14): An assignment operator is expected with the EVAL operation.

test433_err_select_operand_when

test433_err_select_operand_when.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0203: SELECT WITH AN OPERAND MUST BE FOLLOWED BY WHEN-IS, WHEN-IN, OTHER, OR ENDSL.

  • RNF0203 (severity 30, line 4): SELECT WITH AN OPERAND MUST BE FOLLOWED BY WHEN-IS, WHEN-IN, OTHER, OR ENDSL.
  • RNF5177 (severity 30, line 4): ENDyy operation missing for operation group at statement
  • RNF5249 (severity 20, line 5): WHEN found outside of SELECT group.
  • RNF5141 (severity 30, line 7): ENDyy is specified without associated structured operation.

test434_empty

test434_empty.rpgle — should be rejected (OpenRPG extension: *EMPTY); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 7): The token is not valid; token is ignored.
  • RNF5358 (severity 30, line 7): The EVAL operation is missing an expression.
  • RNF0604 (severity 20, line 9): The token is not valid; token is ignored.
  • RNF5358 (severity 30, line 9): The EVAL operation is missing an expression.
  • RNF0604 (severity 20, line 11): The token is not valid; token is ignored.

test435_hex_bifs

test435_hex_bifs.rpgle — should be rejected (OpenRPG extension: %TOHEX, %HEX and %FROMHEX); IBM i did not compile it.

RNF0604: The token is not valid; token is ignored.

  • RNF0604 (severity 20, line 8): The token is not valid; token is ignored.
  • RNF0604 (severity 20, line 10): The token is not valid; token is ignored.
  • RNF0604 (severity 20, line 11): The token is not valid; token is ignored.
  • RNF0604 (severity 20, line 12): The token is not valid; token is ignored.
  • RNF0604 (severity 20, line 15): The token is not valid; token is ignored.

test436_message_directive

test436_message_directive.rpgle — should be rejected (OpenRPG extension: /MESSAGE); IBM i did not compile it.

RNF0274: Compiler directive not recognized; directive ignored.

  • RNF0274 (severity 30, line 5): Compiler directive not recognized; directive ignored.
  • RNF0274 (severity 30, line 7): Compiler directive not recognized; directive ignored.
  • RNF0274 (severity 30, line 9): Compiler directive not recognized; directive ignored.

test437_err_message_directive

test437_err_message_directive.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0274: Compiler directive not recognized; directive ignored.

  • RNF0274 (severity 30, line 4): Compiler directive not recognized; directive ignored.

test438_fixed_message_directive

test438_fixed_message_directive.rpgle — should be rejected (OpenRPG extension: /MESSAGE); IBM i did not compile it.

RNF0274: Compiler directive not recognized; directive ignored.

  • RNF0274 (severity 30, line 2): Compiler directive not recognized; directive ignored.

test443_like_nested_subfield

test443_like_nested_subfield.rpgle — should be rejected (OpenRPG extension: LIKE through a nested data structure; IBM i takes one qualifier (RNF0623)); IBM i did not compile it.

Qualified reference (ds.field) to a DS that is not QUALIFIED

  • RNF0623 (severity 20, line 11): The simple qualified name is not specified correctly.
  • RNF7030 (severity 30, line 11): The name or indicator C is not defined.
  • RNF7030 (severity 30, line 11): The name or indicator HDR.CODE is not defined.
  • RNF7030 (severity 30, line 11): The name or indicator OUTER.HDR.CODE is not defined.
  • RNF0623 (severity 20, line 12): The simple qualified name is not specified correctly.

test444_err_like_no_subfield

test444_err_like_no_subfield.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

Qualified reference (ds.field) to a DS that is not QUALIFIED

  • RNF7030 (severity 30, line 6): The name or indicator C is not defined.
  • RNF7030 (severity 30, line 6): The name or indicator NOSUCH is not defined.
  • RNF7030 (severity 30, line 6): The name or indicator OUTER.NOSUCH is not defined.

test446_overload_ind

test446_overload_ind.rpgle — should be rejected (OpenRPG extension: OVERLOAD tells IND from a string; on IBM i both candidates match (RNF3246)); IBM i did not compile it.

RNF3246: Prototypes ASSERTEQUAL_STRING and ASSERTEQUAL_IND both match the call; first match assumed.

  • RNF3246 (severity 30, line 16): Prototypes ASSERTEQUAL_STRING and ASSERTEQUAL_IND both match the call; first match assumed.
  • RNF3246 (severity 30, line 17): Prototypes ASSERTEQUAL_STRING and ASSERTEQUAL_IND both match the call; first match assumed.

test449_err_ind_never_set

test449_err_ind_never_set.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

Undefined name, cause not reported by IBM (RNF7503)

  • RNF7503 (severity 30, line 5): Expression contains an operand that is not defined.
  • RNF7030 (severity 30, line 5): The name or indicator *IN55 is not defined.

test450_fixed_err_ind_never_set

test450_fixed_err_ind_never_set.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

Undefined name, cause not reported by IBM (RNF7030)

  • RNF7030 (severity 30, line 3): The name or indicator *IN55 is not defined.

test451_fixed_err_factor1_not_left

test451_fixed_err_factor1_not_left.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0262: Entry not left-adjusted; defaults to left-adjusted.

  • RNF0262 (severity 20, line 5): Entry not left-adjusted; defaults to left-adjusted.

test452_fixed_err_result_not_left

test452_fixed_err_result_not_left.rpgle — should be rejected (negative test: written to be rejected); IBM i did not compile it.

RNF0262: Entry not left-adjusted; defaults to left-adjusted.

  • RNF0262 (severity 20, line 5): Entry not left-adjusted; defaults to left-adjusted.

Clone this wiki locally