TRIGGERPROCEDUREFORDELETEOF gsinvhd.
FIND distribution
WHERE distribution.company = gsinvhd.company NO-LOCK NO-ERROR.
Oracle:
CREATEORREPLACETRIGGER SWT_Delete_gsinvhd
AFTER DELETEON gsinvhd
DECLARE
v_distribution_company VARCHAR2(255);
BEGINSELECT company INTO v_distribution_company FROM distribution
WHERE(distribution.company = gsinvhd.company)AND ROWNUM <=1;
EXCEPTION
WHEN NO_DATA_FOUND THENNULL;
END;
DEF VAR w_ail ASCHAR NO-UNDO.PROCEDURE act_InitValues.IF w_ ail EQ "ac21"OR w_ ail EQ "first"THEN DO:
ASSIGN w_ ail ="first".END.ELSEIF w_ ail EQ "ac50"THEN DO:
ASSIGN w_ ail ="second".END.ELSE DO:
ASSIGN w_ ail ="third"END.ENDPROCEDURE.
Java:
package ispirer;publicclass If_statement
{privateString w_ ail = null;publicvoid act_InitValues(){if((w_ ail.equals("ac21")) ||( w_ ail.equals("first"))){
w_ ail = "first";}elseif(w_ ail.equals("ac50")){
w_ ail = "second";}else{
w_ ail = "third";}}}
将Progress 4GL包含文件 (*.i)转换到Java类包
Progress 4GL:
FUNCTION days-in-MONTHRETURNSINTEGER(INPUT pmonth ASINTEGER,INPUT pyear ASINTEGER) :
DEFINE VARIABLE idays ASINTEGER
EXTENT 12 INITIAL [31,28,31,30,31,30,31,31,30,31,30,31].IF pmonth NE 2THEN DO:
RETURN idays[pmonth].END.ELSE DO:
IFINTEGER(pyear /4)*4= pyear THEN DO:
IFINTEGER(pyear /100)*100= pyear THEN DO:
IFINTEGER(pyear /400)*400= pyear
THENRETURN29.ELSERETURN28.END.ELSERETURN29.END.ELSERETURN28.END.ENDFUNCTION.