Unable to run Convert Model messages to database file
search cancel

Unable to run Convert Model messages to database file

book

Article ID: 419200

calendar_today

Updated On:

Products

CA 2E

Issue/Introduction

When attempting to convert Model messages to database file, receive error: Function check on PLI9001.

Environment

CA 2E 8.7.x

Cause

Running YCVTMDLMSG over a very large model with over 20,000 messages will result in the following error message:

MCH2804 Tried to go larger than storage limit for object &1. PLI0485 STORAGE condition raised at 2126 in YEXPACPR1I. PLI9001 Run-unit ended at 1993 in YPARDTAR1I.

This is IBMi PL/I run unit 16MB limitation, which will be caused if there are hanging surrogates, like infinite loops, present in the model objects or due to a larger number of messages.

In this specific case, this 16MB limitation was reached because of the huge number of messages and their corresponding parameters.

Resolution

You can avoid this failure and successfully run YCVTMDLMSG with these steps: 

1. Build a model list of all MSGs (MSGALL) and make sure all are selected 

YBLDMDLLST OBJNAM((*ANY *ALL *MSG)) MDLLST(MSGALL) OUTFLAGVAL(*SELECTED) 

2. Run YFLTMDLLST to extract the 6 types of MSG to individual lists

YFLTMDLLST MDLLST(MSGALL) OUTLST(MSGCMP) OBJATR(CMP) 
YFLTMDLLST MDLLST(MSGALL) OUTLST(MSGERR) OBJATR(ERR) 
YFLTMDLLST MDLLST(MSGALL) OUTLST(MSGEXC) OBJATR(EXC) 
YFLTMDLLST MDLLST(MSGALL) OUTLST(MSGINF) OBJATR(INF) 
YFLTMDLLST MDLLST(MSGALL) OUTLST(MSGRTV) OBJATR(RTV) 
YFLTMDLLST MDLLST(MSGALL) OUTLST(MSGSTS) OBJATR(STS) 

3. Run YCVTMDLMSG using each of the 6 lists 

YCVTMDLMSG CVTOPT(*MDLLST) MDLLST(MSGCMP) 
YCVTMDLMSG CVTOPT(*MDLLST) MDLLST(MSGERR) 
YCVTMDLMSG CVTOPT(*MDLLST) MDLLST(MSGEXC) 
YCVTMDLMSG CVTOPT(*MDLLST) MDLLST(MSGINF) 
YCVTMDLMSG CVTOPT(*MDLLST) MDLLST(MSGRTV) 
YCVTMDLMSG CVTOPT(*MDLLST) MDLLST(MSGSTS)