"This Batch Is Not Accessible" is an error you can sometimes receive when attempting an import from Fidesic into GP.
If you encounter the "This Batch Is Not Accessible" error after import into GP, the most likely cause is that the MEM Fidesic Scripts were not properly installed, or were lost in an update.
To Correct, follow the Fidesic MEM Installation Instructions.
After correcting this issue, you will need to clean up any imported transactions in the GP database to make sure they are accessible from the front end in GP. Run the following script to create a stored procedure on your COMPANY database.
CREATE OR ALTER PROCEDURE CleanupImportedBatches
@BatchPrefix VARCHAR(30),
@Debug bit = 0
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ValidMEMBatch VARCHAR(100),
@BSSI_Facility_ID VARCHAR(100)
SELECT TOP 1 @ValidMEMBatch = s.BACHNUMB
FROM SY00500 s WHERE s.BCHCOMNT = 'Batch Created by Fidesic MEM'
ORDER BY s.DEX_ROW_ID ASC
SELECT TOP 1 @BSSI_Facility_ID = b.BSSI_Facility_ID
FROM B3900900 b
WHERE b.BCHSOURC='PM_Trxent '
AND TRIM(b.BSSI_Facility_ID) <> ''
IF @ValidMEMBatch IS NULL
BEGIN
RAISERROR('No valid MEM batch template found', 16, 1)
RETURN
END
IF @Debug = 1
BEGIN
-- Preview what would be inserted into B3900900
SELECT 'Would insert into B3900900:' as Operation,
p.BACHNUMB,
@BSSI_Facility_ID
from PM10000 p
left join B3900900 b on b.BACHNUMB = p.BACHNUMB
where b.BACHNUMB is null
and p.BACHNUMB like @BatchPrefix + '%'
group by p.BACHNUMB;
-- Preview what would be inserted into B3920000
SELECT 'Would insert into B3920000:' as Operation,
p.BACHNUMB,
p.VCHNUMWK,
b.BSSI_Facility_ID
from PM10000 p
join B3900900 b on b.BACHNUMB = p.BACHNUMB
LEFT JOIN B3920000 B2 ON b2.VCHNUMWK = p.VCHNUMWK
where b2.VCHNUMWK is null
and p.BACHNUMB like @BatchPrefix + '%';
-- Preview what would be inserted into SY00500
SELECT 'Would insert into SY00500:' as Operation,
b.BACHNUMB,
ss.SERIES,
ss.BCHSOURC
from B3900900 b
left join SY00500 s on b.BACHNUMB = s.BACHNUMB
join SY00500 ss on ss.BACHNUMB = @ValidMEMBatch
where s.BACHNUMB is null
and b.BACHNUMB like @BatchPrefix + '%';
RETURN
END
IF @Debug = 0
BEGIN
BEGIN TRANSACTION;
insert into B3900900
SELECT 'PM_Trxent',p.BACHNUMB,RIGHT(p.BACHNUMB, 3),0,0,0,0,'',0
from PM10000 p
left join B3900900 b on b.BACHNUMB = p.BACHNUMB
where b.BACHNUMB is null
and p.BACHNUMB like @BatchPrefix + '%'
group by p.BACHNUMB;
insert into B3920000
SELECT 1, p.VCHNUMWK,b.BSSI_Facility_ID,'','',1,VADDCDPR,0
from PM10000 p
join B3900900 b on b.BACHNUMB = p.BACHNUMB
LEFT JOIN B3920000 B2 ON b2.VCHNUMWK = p.VCHNUMWK
where b2.VCHNUMWK is null
and p.BACHNUMB like @BatchPrefix + '%';
insert into SY00500
select ss.GLPOSTDT, ss.BCHSOURC, b.BACHNUMB, ss.SERIES, ss.MKDTOPST, ss.NUMOFTRX, ss.RECPSTGS, ss.DELBACH,
ss.MSCBDINC, ss.BACHFREQ, ss.RCLPSTDT, ss.NOFPSTGS, ss.BCHCOMNT, ss.BRKDNALL, ss.CHKSPRTD, ss.RVRSBACH, ss.USERID, ss.CHEKBKID, ss.BCHTOTAL, ss.BCHEMSG1, ss.BCHEMSG2,
ss.BACHDATE, ss.BCHSTRG1, ss.BCHSTRG2, ss.POSTTOGL, ss.MODIFDT, ss.CREATDDT, ss.NOTEINDX, ss.CURNCYID, ss.BCHSTTUS, ss.CNTRLTRX, ss.CNTRLTOT, ss.PETRXCNT, ss.APPROVL,
ss.APPRVLDT, ss.APRVLUSERID, ss.ORIGIN, ss.ERRSTATE, ss.GLBCHVAL, ss.Computer_Check_Doc_Date, ss.Sort_Checks_By, ss.SEPRMTNC, ss.REPRNTED, ss.CHKFRMTS,
ss.TRXSORCE, ss.PmtMethod, ss.EFTFileFormat, ss.Workflow_Approval_Status, ss.Workflow_Priority, ss.Workflow_Status, ss.TIME1,
ss.ClearRecAmts, ss.PurchasingPrepaymentBch, ss.CARDNAME, ss.UseLastDayOfMonth, ss.Post_Deposit
from B3900900 b
left join SY00500 s on b.BACHNUMB = s.BACHNUMB
join SY00500 ss on ss.BACHNUMB = @ValidMEMBatch
where s.BACHNUMB is null
and b.BACHNUMB like @BatchPrefix + '%';
COMMIT TRANSACTION;
END
END;
GO
Then run
EXEC CleanupImportedBatches @BatchPrefix = 'MISSINGBATCHNAME'
This will make the batches visible again. Please DELETE the batches from the GP Batch window and reimport the invoices.