File Utility Program (FUP) Management Programming Manual

FUP Commands and Responses
File Utility Program (FUP) Management Programming Manual523322-001
3-21
DUPLICATE Command
BEGIN
CALL SSNULL (dup^par^def, params);
IF $PARAM (partonly) THEN
params.zpart^only := partonly;
IF $PARAM (preserve^timestamp ) THEN
params.zpreserve^timestamp := preserve^timestamp;
IF $PARAM (preserve^owner ) THEN
params.zpreserve^owner := preserve^owner;
IF $PARAM (preserve^security ) THEN
params.zpreserve^security := preserve^security;
IF $PARAM (destoption ) THEN
params.zdest^option := destoption;
CALL SSPUT (buffer, dup^par^def, params);
END;! Check for SPI error
CALL SSGETTKN (buffer, ZSPI^TKN^LASTERR, spi^error);IF error
THEN
BEGIN
CALL print^error (error);
RETURN error;
ELSE
numberduped := numberduped + 1D; ! Increment by 1
! Rebuild the buffer with context token
spi^error := SSMOVETKN (ZSPI^TKN^CONTEXT,buffer,1,
save^buffer,1);
IF NOT spi^error THEN
buffer ':=' save^buffer FOR 1 ELEMENTS
ELSE IF spi^error = ZSPI^ERR^MISTKN THEN
done := TRUE
ELSE
RETURN ss^error (spi^error);
END; ! WHILE loop
RETURN 0;
END; ! DUPLICATE Procedure
Figure 3-2. TAL Example of a DUPLICATE Procedure (page 3 of 3)