I am trying to create a function that uses a variable parameter list.
So i can invoke the function like;
function cat(var1, var2) or function cat(var1, var2, var3) or function cat(var1, var2, var3, var4) etc
Everything I try causes a crash or fails to work.
My latest attempt is trying to implement the "REPEATED" option of the USING clause which doesn't crash but it also doesn't work;
Function;
$set preservecase case repository(update ON)
ID DIVISION.
FUNCTION-ID. CAT.
WORKING-STORAGE SECTION.
01 WS-BUFFER PIC X(1024) VALUE SPACES.
01 WS-FUNC PIC 9(2) COMP VALUE 16.
01 WS-RESULT PIC 9(2) COMP.
01 WS-PARMS PIC 99 COMP.
01 WS-SIZE PIC 9(5).
01 P PIC 9(3).
01 R PIC XXX COMP-X.
LINKAGE SECTION.
01 STR PIC X(1024) OCCURS 10.
01 RESULT PIC X(1024).
PROCEDURE DIVISION USING STR REPEATED
RETURNING RESULT.
CALL X"91" USING WS-RESULT WS-FUNC WS-PARMS.
display "parameters=" ws-parms
SET R TO 1
PERFORM VARYING P FROM 1 BY 1 UNTIL P > WS-PARMS
CALL "C$PARAMSIZE" USING P GIVING WS-SIZE
display "size=" ws-size
MOVE STR(P)(1:WS-SIZE) TO RESULT(R:WS-SIZE)
ADD WS-SIZE TO R
END-PERFORM
GOBACK.
END FUNCTION CAT.
Calling program;
identification division.
program-id. Program1.
environment division.
repository.
function CAT.
data division.
working-storage section.
01 parm1 pic x(8) value "tony".
01 parm2 pic x(8) value "blink".
procedure division.
display function CAT(parm1, parm2)
accept parm1.
goback.
end program Program1.
I am working with Visual COBOL and a INT/GNT output project
Any help at all is very much appreciated
#VisualCOBOL
#Windows
#error



