In my coding... the parameters pass into the call, only the first parameter read.... any other way? please guide me... thanks....
In my coding... the parameters pass into the call, only the first parameter read.... any other way? please guide me... thanks....
Code:
As far i know, in free format there is no PLIST, so i did the DS like
D Company DS
D name like(name)
D id like(id)
D ...... (about 10)
D callcom PR extpgm('CALLCOM)
D company like(Company)
/free
.....
callp callcom(company);
......
/end-free
================================================== ====
another type....
/free
.....
callp callcom(name:id:...x10);
....
/end-free
i would like to replace the DS into the long parameters but the result shown is only the first field name is passed into it.... is there any other ways? because too many parameters, it's very long to write it
thanksin advance
Code:
.................................................
D PLOG DS
D WSSPACD LIKE(SSPACD)
D WPSUSRN LIKE(SSPACD)
D WPSJOBN LIKE(PSJOBN)
D WPSJBNO LIKE(PSJBNO)
D WPSPGM LIKE(PSPGM)
D WSSPDT8 8 0
D WSSPTIM 6 0
D WFILNAM LIKE(FILNAM)
D XFILNAM 10
D WSSABNK LIKE(SSABNK)
D WSSABRN LIKE(SSABRN)
D WSSTBNK LIKE(SSTBNK)
D WSSTBRN LIKE(SSTBRN)
D WSSPSPR LIKE(SSPSPR)
D WSSTRNC LIKE(SSTRNC)
D WSSPSRC LIKE(SSPSRC)
D WSSACTY LIKE(SSACTY)
D WSSACCY LIKE(SSACCY)
D WSSCIFN LIKE(SSCIFN)
D WCRTSPC 1
D WBUFFER LIKE(BUFFER)
D WMNTREQ 8
D WERRIN 1
D SSMCTLLOG PR EXTPGM('SSMCTLLOG')
D PLOG LIKE(PLOG)
.................................................
BEGSR SRMNTCTL;
EVAL SSPDT8 = SP1NB8;
TIME = %TIMESTAMP;
IF WMNTREQ = '*ADD' OR WMNTREQ = '*DELETE';
%OCCUR(MNTDS1) = 1;
EVAL BUFFER = MNTDS1;
EVAL R = RCDLEN1 + 1;
EVAL %SUBARR(BUF:R) = MNTDS1;
ELSE;
%OCCUR(MNTDS1) = 2;
EVAL BUFFER = MNTDS1;
EVAL R = RCDLEN1 + 1;
%OCCUR(MNTDS1) = 1;
EVAL %SUBARR(BUF:R) = MNTDS1;
ENDIF;
EVAL WERRIN = *BLANKS;
CALLP SSMCTLLOG(PLOG);
EVAL WMNTREQ = '*BLANKS';
ENDSR;
.................................................



Comment