There is no use to create a temporary variable (&ASDF) if you don't require it later. Try to replace ADDWT&ASDF by ADDWT 7999, but I fear that each time a WT is being processed in your PCR it would create WT 7999 again. Then again, it wouldn't matter what the number ends up to be in the Results Table (RT) as long as it's amount is zero.
If it doesn't workry the following
PCR Z191 (called by function PIT with Par3 = NOAB)
ESG * WT ****
ADDWT *
ESG * WT /191
ADDWT& /191 ADDWT *
PCR Z000 (called by function ACTIO)
ESG * WT ****
AMT=& /191 AMT?0
*
= NUM=1 ADDWT 7999