"This Batch Is Not Accessible" After Import

"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. 

Screenshot 2025-02-13 at 1.53.02 PM

 

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.