//----------------------------------------------------------------- // DB I/O module for "FRUITS" table //----------------------------------------------------------------- h copyright('2015 Relational Data Corporation') nomain //----------------------------------------------------------------- // file specifications //----------------------------------------------------------------- fafru100p uf a e k disk //----------------------------------------------------------------- // copy members //----------------------------------------------------------------- /copy *libl/qmodelsrc,wlmaind1#1 /copy *libl/qrpglesrc,rdmsgapi#1 /copy *libl/qdbssrc,rdtrginf#1 d trgptr s * import //----------------------------------------------------------------- // module level data structures //----------------------------------------------------------------- d dettKey ds export d det_key1 10s 0 d msgDs ds export d msg_type 1a d msg_text 128a varying d dettrec e ds extname(afru100p) d export prefix(m_) d dettrec1 e ds extname(afru100p) //----------------------------------------------------------------- // module level variables //----------------------------------------------------------------- d focusfld s 10a varying export d msg_module s 10a inz('WLMAINT') //----------------------------------------------------------------- // initialization //----------------------------------------------------------------- p d1Init b export /free msgFileOpen('WLMAINT'); clear dettKey; clear dettRec; clear dettRec1; /end-free p d1Init e //----------------------------------------------------------------- // clean up //----------------------------------------------------------------- p d1Term b export /free msgFileClose(); /end-free p d1Term e //----------------------------------------------------------------- // get detail record //----------------------------------------------------------------- p d1GetDettRec b export d d1GetDettRec pi n /free clear dettrec; clear dettrec1; chain(n) det_key1 afru100r; if not %found(); msg_type = type_error; msg_text = msgGetText(msg_module:1); return *off; endif; dettrec = dettrec1; return *on; /end-free p d1GetDettRec e //----------------------------------------------------------------- // change detail record //----------------------------------------------------------------- p d1ChgDettRec b export d d1ChgDettRec pi n /free chain m_keyseqn afru100r; if not %found(); focusfld = 'NAME'; msg_type = type_error; msg_text = msgGetText(msg_module:2); return *off; endif; dettrec1 = dettrec; update(e) afru100r; if %error(); d1ChkMsg(); return *off; endif; msg_type = type_info; msg_text = msgGetText(msg_module:3); return *on; /end-free p d1ChgDettRec e //----------------------------------------------------------------- // add detail record //----------------------------------------------------------------- p d1AddDettRec b export d d1AddDettRec pi n /free dettrec1 = dettrec; write(e) afru100r; if %error(); d1ChkMsg(); return *off; endif; msg_type = type_info; msg_text = msgGetText(msg_module:5); return *on; /end-free p d1AddDettRec e //----------------------------------------------------------------- // delete detail record //----------------------------------------------------------------- p d1DelDettRec b export d d1DelDettRec pi n /free delete(e) m_keyseqn afru100r; if %error(); msg_type = type_error; msg_text = msgGetText(msg_module:6); return *off; else; msg_type = type_info; msg_text = msgGetText(msg_module:7); return *on; endif; /end-free p d1DelDettRec e //----------------------------------------------------------------- // check for DB event messages //----------------------------------------------------------------- p d1ChkMsg b export /free if trg.escape; msg_type = trg.msg(1).type; msg_text = trg.msg(1).text; focusfld = trg.msg(1).column; endif; /end-free p d1ChkMsg e