*# Last Updated by JAZZUSR at 27/06/2021 3:48:16 PM PROGRAM JSPG3 WEBSERVICE MyJSv CONTAINER DFHWS-DATA DATABASE sample DB2 JSON; * Parent/Child Update. * You will need to develop the generated logic further COPY JZTrim; ACCEPT (IJSPG3.Function) MESSAGE OJSPG3.Error; CASE (IJSPG3.Function); WHEN (Enquiry); ACCEPT (DEPARTMENT.DEPTNO = IJSPG3.DEPTNO OR DEPARTMENT.MGRNO = IJSPG3.MGRNO OR DEPARTMENT.ADMRDEPT = IJSPG3.ADMRDEPT) MESSAGE OJSPG3.Error; GET DEPARTMENT KEY(DEPARTMENT.DEPTNO OR DEPARTMENT.MGRNO OR DEPARTMENT.ADMRDEPT) SAVESUM OJSPG3.JZ-DEPARTMENT.Checksum; PROCESS EMPLOYEE WHERE(EMPLOYEE.WORKDEPT = DEPARTMENT.DEPTNO) SAVESUM OJSPG3.JZ-EMPLOYEE.Checksum; END PROCESS EMPLOYEE RESPOND OJSPG3; END GET DEPARTMENT RESPOND OJSPG3; WHEN (Update); ACCEPT (DEPARTMENT.DEPTNO=IJSPG3.DEPTNO) MESSAGE OJSPG3.Error; GET DEPARTMENT KEY(DEPARTMENT.DEPTNO) UPDATE CHECKSUM IJSPG3.JZ-DEPARTMENT.Checksum; ACCEPT (IJSPG3.JZ-DEPARTMENT.*) EXCEPT(DEPARTMENT.DEPTNO) MESSAGE OJSPG3.Error; PROCESS EMPLOYEE WHERE(EMPLOYEE.WORKDEPT = DEPARTMENT.DEPTNO) SAVESUM OJSPG3.JZ-EMPLOYEE.Checksum; END PROCESS EMPLOYEE RESPOND OJSPG3; END GET DEPARTMENT UPDATE RESPOND OJSPG3; WHEN (Add); ACCEPT (DEPARTMENT.DEPTNO=IJSPG3.DEPTNO) MESSAGE OJSPG3.Error; GET DEPARTMENT FREEKEY CREATE; ACCEPT (IJSPG3.JZ-DEPARTMENT.*) EXCEPT(DEPARTMENT.DEPTNO) MESSAGE OJSPG3.Error; END GET DEPARTMENT CREATE RESPOND OJSPG3; WHEN (Delete); ACCEPT (DEPARTMENT.DEPTNO=IJSPG3.DEPTNO) MESSAGE OJSPG3.Error; DELETE DEPARTMENT KEY(DEPARTMENT.DEPTNO) CHECKSUM IJSPG3.JZ-DEPARTMENT.Checksum NOCHILDREN(EMPLOYEE); WHEN (Child); * Create a new EMPLOYEE record GET EMPLOYEE FREEKEY CREATE; COPY JZSMth; COPY JZMDays; COPY JZDTVS; ACCEPT (IJSPG3.JZ-DEPARTMENT.DEPTNO,IJSPG3.JZ-EMPLOYEE.*) EXCEPT(EMPLOYEE.EMPNO) MESSAGE OJSPG3.Error; EMPLOYEE.WORKDEPT = DEPARTMENT.DEPTNO; GET DEPARTMENT KEY(DEPARTMENT.DEPTNO); END GET DEPARTMENT RESPOND OJSPG3; END GET EMPLOYEE CREATE RESPOND OJSPG3; WHEN (PChild); * Process a selected child record. * Generated logic is only a basic update: change this for your situation, e.g. "Process Order". ACCEPT (EMPLOYEE.EMPNO=IJSPG3.EMPNO) MESSAGE OJSPG3.Error; GET EMPLOYEE KEY(EMPLOYEE.EMPNO) UPDATE CHECKSUM IJSPG3.JZ-EMPLOYEE.Checksum; ACCEPT (IJSPG3.JZ-DEPARTMENT.DEPTNO,IJSPG3.JZ-EMPLOYEE.*) EXCEPT(EMPLOYEE.EMPNO) MESSAGE OJSPG3.Error; EMPLOYEE.WORKDEPT = DEPARTMENT.DEPTNO; GET DEPARTMENT KEY(DEPARTMENT.DEPTNO); END GET DEPARTMENT RESPOND OJSPG3; END GET EMPLOYEE UPDATE RESPOND OJSPG3; END CASE; REPLY;