web
You’re offline. This is a read only version of the page.
close
Skip to main content
Community site session details

Community site session details

Session Id :
Microsoft Dynamics GP (Archived)

HOT TO COPY EXISTING ADVANCED FINANCIAL REPORT TO ANOTHER COMPANY

(1) ShareShare
ReportReport
Posted on by

Hi All,

We have several companies in GP. Currently, from our Company A we are printing financial statement reports. Now, we want to print also from our Company B (REPORTS > FINANCIAL STATEMENTS).

My question is, can I copy all those reports (advanced financial reports) defined from Company A to Company B. If yes, how can I copy the layout?

Thanks in advance!

-Rotchine

*This post is locked for comments

I have the same question (0)
  • Suggested answer
    soma Profile Picture
    24,410 on at
    RE: HOT TO COPY EXISTING ADVANCED FINANCIAL REPORT TO ANOTHER COMPANY

    No. You can not copy the Advanced Reports defined in one company to another. You need to manually define the same in other company (B) as well.

    Hope this helps!!!

  • Community Member Profile Picture
    on at
    RE: HOT TO COPY EXISTING ADVANCED FINANCIAL REPORT TO ANOTHER COMPANY

    Hi Soma,

    I got this article, support.microsoft.com/.../863224  ???

  • soma Profile Picture
    24,410 on at
    RE: HOT TO COPY EXISTING ADVANCED FINANCIAL REPORT TO ANOTHER COMPANY

    The article contains back-end process(SQL update). I was mean, there is no option available in front-end level(within GP). We can do anything on our back-end level for data migrations & integration. But, we must know the knowledge about GP tables & SQL.

    Hope you understand now.

  • GovindDevda Profile Picture
    617 on at
    RE: HOT TO COPY EXISTING ADVANCED FINANCIAL REPORT TO ANOTHER COMPANY

    Hi , you can copy your financial reports through back ends

    1. Find the next available AFA Report ID in the new company
      1. select * from AF40100
      2. The next id is the next available number
    2. Copy all data from the following tables                                                                                                                        AF40100, AF40101, AF40102, AF40103, AF40104, AF40105, AF40106, AF40107, AF40108, AF40200, and AF40201
    3. Replace the report id with the new report ID in the new company                                                                         update af40101 set reportid = [newid] where reportid = [oldid]

    if you have fresh company then please ignore step 3 and 1.

    Thanks & Regards

    Govind Devda

  • Suggested answer
    Community Member Profile Picture
    on at
    RE: HOT TO COPY EXISTING ADVANCED FINANCIAL REPORT TO ANOTHER COMPANY

    Here is SQL I use to copy Advanced financial reports from one SQL server and GP company to another SQL server and GP company. The same process can be used to clone a report form one company to another.

    Our GP 2016 Balance sheet and Income statements are in Advanced Financials. Advanced financial report structure is saved in the SQL database under some tables. This means, to copy or clone a report from one company to another, or from one SQL server to another you need to run SQL to do this.

    Below is an example of how to migrate a Report.

    NOTE you MUST create the report in the target advanced financials with the same name as the source before running the SQL

    --Get the Report ID's in old and new GP
    DECLARE @ReportID int, @ReportName as varchar(55), @ReportIDGP9 int; SET @ReportIDGP9=34;
    SELECT @ReportName=RPRTNAME FROM NETSQL2.NET.dbo.AF40100 WHERE ReportID=@ReportIDGP9;
    Print @ReportName;
    --Get ReportID in new DB from report Name
    SELECT @ReportID=ReportID FROM NET.dbo.AF40100 WHERE RPRTNAME=@ReportName;
    Print @ReportID;

    --UPDATE Header
    UPDATE NET.dbo.AF40100
    SET RPRTTYPE=TheData.RPRTTYPE,CLCFRPRT=TheData.CLCFRPRT,LSTMODIF=TheData.LSTMODIF,NOTEINDX=TheData.NOTEINDX
    FROM (select RPRTNAME,RPRTTYPE,CLCFRPRT,LSTMODIF,NOTEINDX
    from NETSQL2.NET.dbo.AF40100 WHERE ReportID=@ReportIDGP9
    ) as TheData
    WHERE ReportID=@ReportID;

    DELETE FROM NET.dbo.AF40101 WHERE ReportID=@ReportID;
    INSERT INTO NET.dbo.AF40101
    (ReportID,MNHDRCNT,MNFTRCNT,SHDRCNT,SFTRCNT,ROWCNT1,COLCNT,SHDRPCNT,SFTRPCNT,MNHDRFLG,MNFTRFLG,SHDRFLAG,SFTRFLAG,MNHDRSIZ,MNFTRSIZ,SHDRSIZE_1,SHDRSIZE_2,SHDRSIZE_3,SHDRSIZE_4,SHDRSIZE_5,SFTRSIZE_1,SFTRSIZE_2,SFTRSIZE_3,SFTRSIZE_4,SFTRSIZE_5,SHDROPT_1,SHDROPT_2,SHDROPT_3,SHDROPT_4,SHDROPT_5,SHDRPRT_1,SHDRPRT_2,SHDRPRT_3,SHDRPRT_4,SHDRPRT_5,SFTROPT_1,SFTROPT_2,SFTROPT_3,SFTROPT_4,SFTROPT_5,SFTRPRT_1,SFTRPRT_2,SFTRPRT_3,SFTRPRT_4,SFTRPRT_5,COLHDCNT,COLDHSIZ_1,COLDHSIZ_2,COLDHSIZ_3,COLDHSIZ_4,COLDHSIZ_5,COLDHSIZ_6,RTOTLSIZ,COLTOSIZ,COLOFSIZ,LFTMARGN,RTMARGIN,TOPMARGN,BOTMARGN)
    select @ReportID,MNHDRCNT,MNFTRCNT,SHDRCNT,SFTRCNT,ROWCNT1,COLCNT,SHDRPCNT,SFTRPCNT,MNHDRFLG,MNFTRFLG,SHDRFLAG,SFTRFLAG,MNHDRSIZ,MNFTRSIZ,SHDRSIZE_1,SHDRSIZE_2,SHDRSIZE_3,SHDRSIZE_4,SHDRSIZE_5,SFTRSIZE_1,SFTRSIZE_2,SFTRSIZE_3,SFTRSIZE_4,SFTRSIZE_5,SHDROPT_1,SHDROPT_2,SHDROPT_3,SHDROPT_4,SHDROPT_5,SHDRPRT_1,SHDRPRT_2,SHDRPRT_3,SHDRPRT_4,SHDRPRT_5,SFTROPT_1,SFTROPT_2,SFTROPT_3,SFTROPT_4,SFTROPT_5,SFTRPRT_1,SFTRPRT_2,SFTRPRT_3,SFTRPRT_4,SFTRPRT_5,COLHDCNT,COLDHSIZ_1,COLDHSIZ_2,COLDHSIZ_3,COLDHSIZ_4,COLDHSIZ_5,COLDHSIZ_6,RTOTLSIZ,COLTOSIZ,COLOFSIZ,LFTMARGN,RTMARGIN,TOPMARGN,BOTMARGN
    from NETSQL2.NET.dbo.AF40101 WHERE ReportID=@ReportIDGP9;

    DELETE FROM NET.dbo.AF40102 WHERE ReportID=@ReportID;
    INSERT INTO NET.dbo.AF40102
    (REPORTID,HDRFTRTY,FLDNUM,FLDPOSX1,FLDPOSY1,FLDPOSX2,FLDPOSY2,FLDTYPE,FLDFRMAT,SBHSBFIN,FLDOPT,FLDOPT2,FLDALIGN,FLDFTFML,FLDFTSIZ,FLDSTYLE_1,FLDSTYLE_2,FLDSTYLE_3,FLDSTYLE_4,FLDSTYLE_5,FLDSTYLE_6,FLDVALUE,FLDVALU2,FLDPRNAM)
    select @REPORTID,HDRFTRTY,FLDNUM,FLDPOSX1,FLDPOSY1,FLDPOSX2,FLDPOSY2,FLDTYPE,FLDFRMAT,SBHSBFIN,FLDOPT,FLDOPT2,FLDALIGN,FLDFTFML,FLDFTSIZ,FLDSTYLE_1,FLDSTYLE_2,FLDSTYLE_3,FLDSTYLE_4,FLDSTYLE_5,FLDSTYLE_6,FLDVALUE,FLDVALU2,FLDPRNAM
    from NETSQL2.NET.dbo.AF40102 WHERE ReportID=@ReportIDGP9;

    DELETE FROM NET.dbo.AF40103 WHERE ReportID=@ReportID;
    INSERT INTO NET.dbo.AF40103 (REPORTID,COLNUM,CLTKNCNT,COLTYPE,COLSIZE,COLOMCNT,COLOFMRK_1,COLOFMRK_2,COLOFMRK_3,COLOFMRK_4,HIDEFLAG,TEXTVALU,STPERIOD,ENDPEROD,AMNTFROM,HISTYEAR,BUDID,PRTSIGN,PRTCOMMA,PRTPCENT,PRTTEXT,ROUNDOPT,HEADALIN,HDFTFMLY,HDFTSIZE,HEDSTYLE_1,HEDSTYLE_2,HEDSTYLE_3,HEDSTYLE_4,HEDSTYLE_5,HEDSTYLE_6,HEADTYPE_1,HEADTYPE_2,HEADTYPE_3,HEADTYPE_4,HEADTYPE_5,HEADTYPE_6,HEDFRMAT_1,HEDFRMAT_2,HEDFRMAT_3,HEDFRMAT_4,HEDFRMAT_5,HEDFRMAT_6,HEADOPT_1,HEADOPT_2,HEADOPT_3,HEADOPT_4,HEADOPT_5,HEADOPT_6,HEADOPT2_1,HEADOPT2_2,HEADOPT2_3,HEADOPT2_4,HEADOPT2_5,HEADOPT2_6,COLHDNG_1,COLHDNG_2,COLHDNG_3,COLHDNG_4,COLHDNG_5,COLHDNG_6,COLHDNG2_1,COLHDNG2_2,COLHDNG2_3,COLHDNG2_4,COLHDNG2_5,COLHDNG2_6,ALGNOFST,COLEXPER,NOTEINDX,SEGFROM_1,SEGFROM_2,SEGFROM_3,SEGFROM_4,SEGTO_1,SEGTO_2,SEGTO_3,SEGTO_4)
    select @ReportID,COLNUM,CLTKNCNT,COLTYPE,COLSIZE,COLOMCNT,COLOFMRK_1,COLOFMRK_2,COLOFMRK_3,COLOFMRK_4,HIDEFLAG,TEXTVALU,STPERIOD,ENDPEROD,AMNTFROM,HISTYEAR,BUDID,PRTSIGN,PRTCOMMA,PRTPCENT,PRTTEXT,ROUNDOPT,HEADALIN,HDFTFMLY,HDFTSIZE,HEDSTYLE_1,HEDSTYLE_2,HEDSTYLE_3,HEDSTYLE_4,HEDSTYLE_5,HEDSTYLE_6,HEADTYPE_1,HEADTYPE_2,HEADTYPE_3,HEADTYPE_4,HEADTYPE_5,HEADTYPE_6,HEDFRMAT_1,HEDFRMAT_2,HEDFRMAT_3,HEDFRMAT_4,HEDFRMAT_5,HEDFRMAT_6,HEADOPT_1,HEADOPT_2,HEADOPT_3,HEADOPT_4,HEADOPT_5,HEADOPT_6,HEADOPT2_1,HEADOPT2_2,HEADOPT2_3,HEADOPT2_4,HEADOPT2_5,HEADOPT2_6,COLHDNG_1,COLHDNG_2,COLHDNG_3,COLHDNG_4,COLHDNG_5,COLHDNG_6,COLHDNG2_1,COLHDNG2_2,COLHDNG2_3,COLHDNG2_4,COLHDNG2_5,COLHDNG2_6,ALGNOFST,COLEXPER,NOTEINDX,SEGFROM_1,SEGFROM_2,SEGFROM_3,SEGFROM_4,SEGTO_1,SEGTO_2,SEGTO_3,SEGTO_4
    from NETSQL2.NET.dbo.AF40103 WHERE ReportID=@ReportIDGP9;

    DELETE FROM NET.dbo.AF40104 WHERE ReportID=@ReportID;
    INSERT INTO NET.dbo.AF40104 (REPORTID,CLCOLNUM,TKNODNUM,TKNTYPE,TKNVALUE,TKNDLVAL,TKNUNACT_1,TKNUNACT_2,TKNUNACT_3,TKNUNACT_4)
    select @REPORTID,CLCOLNUM,TKNODNUM,TKNTYPE,TKNVALUE,TKNDLVAL,TKNUNACT_1,TKNUNACT_2,TKNUNACT_3,TKNUNACT_4
    from NETSQL2.NET.dbo.AF40104 WHERE ReportID=@ReportIDGP9

    DELETE FROM NET.dbo.AF40105 WHERE ReportID=@ReportID;
    INSERT INTO NET.dbo.AF40105 (REPORTID,CLCOLNUM,TKNODNUM,TKNTYPE,TKNVALUE,TKNDLVAL,TKNUNACT_1,TKNUNACT_2,TKNUNACT_3,TKNUNACT_4)
    select @REPORTID,CLCOLNUM,TKNODNUM,TKNTYPE,TKNVALUE,TKNDLVAL,TKNUNACT_1,TKNUNACT_2,TKNUNACT_3,TKNUNACT_4
    from NETSQL2.NET.dbo.AF40105 WHERE ReportID=@ReportIDGP9

    DELETE FROM NET.dbo.AF40106 WHERE ReportID=@ReportID;
    INSERT INTO NET.dbo.AF40106 (REPORTID,ROWNUMBR,TOTKNCNT,ROWTYPE,ROWSIZE,ROLUPFLG,ROWDESC,SUBSUDID,TYPCLBAL,CATNUMBR,PRTSIGN,PRTHEDER,CENTHEDR,ROWFTFAM,ROWFTSIZ,ROWSTYLE_1,ROWSTYLE_2,ROWSTYLE_3,ROWSTYLE_4,ROWSTYLE_5,ROWSTYLE_6,ROFMRKIN_1,ROFMRKIN_2,ROFMRKIN_3,ROFMRKIN_4,ROFMRKIN_5,ROFMRKIN_6,ROFMRKIN_7,ROFMRKIN_8,ROFMRKIN_9,ROFMRKIN_10,ROFMRKIN_11,ROFMRKIN_12,ROFMRKIN_13,ROFMRKIN_14,ROFMRKIN_15,ROFMRKIN_16,ROFMRKIN_17,ROFMRKIN_18,ROFMRKIN_19,ROFMRKIN_20,ROFMRKIN_21,ROFMRKIN_22,ROFMRKIN_23,ROFMRKIN_24,ROFMRKIN_25,ROFMRKIN_26,ROFMRKIN_27,ROFMRKIN_28,ROFMRKIN_29,ROFMRKIN_30,ROFMRKIN_31,ROFMRKIN_32,ROFMRKIN_33,ROFMRKIN_34,ROFMRKIN_35,ROFMRKIN_36,ROFMRKIN_37,ROFMRKIN_38,ROFMRKIN_39,ROFMRKIN_40,CFLOSCTN,RWEXPERR,NOTEINDX,STTACCT_1,STTACCT_2,STTACCT_3,STTACCT_4,STTACCT_5,STTACCT_6,ENDACCT_1,ENDACCT_2,ENDACCT_3,ENDACCT_4,ENDACCT_5,ENDACCT_6)
    select @REPORTID,ROWNUMBR,TOTKNCNT,ROWTYPE,ROWSIZE,ROLUPFLG,ROWDESC,SUBSUDID,TYPCLBAL,CATNUMBR,PRTSIGN,PRTHEDER,CENTHEDR,ROWFTFAM,ROWFTSIZ,ROWSTYLE_1,ROWSTYLE_2,ROWSTYLE_3,ROWSTYLE_4,ROWSTYLE_5,ROWSTYLE_6,ROFMRKIN_1,ROFMRKIN_2,ROFMRKIN_3,ROFMRKIN_4,ROFMRKIN_5,ROFMRKIN_6,ROFMRKIN_7,ROFMRKIN_8,ROFMRKIN_9,ROFMRKIN_10,ROFMRKIN_11,ROFMRKIN_12,ROFMRKIN_13,ROFMRKIN_14,ROFMRKIN_15,ROFMRKIN_16,ROFMRKIN_17,ROFMRKIN_18,ROFMRKIN_19,ROFMRKIN_20,ROFMRKIN_21,ROFMRKIN_22,ROFMRKIN_23,ROFMRKIN_24,ROFMRKIN_25,ROFMRKIN_26,ROFMRKIN_27,ROFMRKIN_28,ROFMRKIN_29,ROFMRKIN_30,ROFMRKIN_31,ROFMRKIN_32,ROFMRKIN_33,ROFMRKIN_34,ROFMRKIN_35,ROFMRKIN_36,ROFMRKIN_37,ROFMRKIN_38,ROFMRKIN_39,ROFMRKIN_40,CFLOSCTN,RWEXPERR,NOTEINDX,STTACCT_1,STTACCT_2,STTACCT_3,STTACCT_4,'' as STTACCT_5,'' as STTACCT_6,ENDACCT_1,ENDACCT_2,ENDACCT_3,ENDACCT_4,'' as ENDACCT_5,'' as ENDACCT_6
    from NETSQL2.NET.dbo.AF40106 WHERE ReportID=@ReportIDGP9;

    DELETE FROM NET.dbo.AF40107 WHERE ReportID=@ReportID;
    INSERT INTO NET.dbo.AF40107 (REPORTID,TOTRWNUM,TKNODNUM,STROWNUM,ENDRWNUM)
    select @REPORTID,TOTRWNUM,TKNODNUM,STROWNUM,ENDRWNUM
    from NETSQL2.NET.dbo.AF40107 WHERE ReportID=@ReportIDGP9;

    DELETE FROM NET.dbo.AF40108 WHERE ReportID=@ReportID;
    INSERT INTO NET.dbo.AF40108 (REPORTID,TOTRWNUM,MBRWNUM)
    select @REPORTID,TOTRWNUM,MBRWNUM
    from NETSQL2.NET.dbo.AF40108 WHERE ReportID=@ReportIDGP9;

    DELETE FROM NET.dbo.AF40200 WHERE ReportID=@ReportID;
    INSERT INTO NET.dbo.AF40200 (REPORTID,RptOptID,ROWNMBR,NMBRACTS)
    select @REPORTID,RptOptID,ROWNMBR,NMBRACTS
    from NETSQL2.NET.dbo.AF40200 WHERE ReportID=@ReportIDGP9;

    DELETE FROM NET.dbo.AF40201 WHERE ReportID=@ReportID;
    INSERT INTO NET.dbo.AF40201 (REPORTID,RptOptID,ROWNMBR,SEQNUMBR,ACTARR1_1_1,ACTARR1_1_2,ACTARR1_1_3,ACTARR1_1_4,ACTARR1_1_5,ACTARR1_1_6,ACTARR1_2_1,ACTARR1_2_2,ACTARR1_2_3,ACTARR1_2_4,ACTARR1_2_5,ACTARR1_2_6,ACTARR1_3_1,ACTARR1_3_2,ACTARR1_3_3,ACTARR1_3_4,ACTARR1_3_5,ACTARR1_3_6,ACTARR1_4_1,ACTARR1_4_2,ACTARR1_4_3,ACTARR1_4_4,ACTARR1_4_5,ACTARR1_4_6,ACTARR2_1_1,ACTARR2_1_2,ACTARR2_1_3,ACTARR2_1_4,ACTARR2_2_1,ACTARR2_2_2,ACTARR2_2_3,ACTARR2_2_4,ACTARR2_3_1,ACTARR2_3_2,ACTARR2_3_3,ACTARR2_3_4,ACTARR2_4_1,ACTARR2_4_2,ACTARR2_4_3,ACTARR2_4_4)
    select @REPORTID,RptOptID,ROWNMBR,SEQNUMBR,ACTARR1_1_1,ACTARR1_1_2,ACTARR1_1_3,ACTARR1_1_4,NULL as ACTARR1_1_5,NULL as ACTARR1_1_6,ACTARR1_2_1,ACTARR1_2_2,ACTARR1_2_3,ACTARR1_2_4,NULL as ACTARR1_2_5,NULL as ACTARR1_2_6,ACTARR1_3_1,ACTARR1_3_2,ACTARR1_3_3,ACTARR1_3_4,NULL as ACTARR1_3_5,NULL as ACTARR1_3_6,ACTARR1_4_1,ACTARR1_4_2,ACTARR1_4_3,ACTARR1_4_4,NULL as ACTARR1_4_5,NULL as ACTARR1_4_6,ACTARR2_1_1,ACTARR2_1_2,ACTARR2_1_3,ACTARR2_1_4,ACTARR2_2_1,ACTARR2_2_2,ACTARR2_2_3,ACTARR2_2_4,ACTARR2_3_1,ACTARR2_3_2,ACTARR2_3_3,ACTARR2_3_4,ACTARR2_4_1,ACTARR2_4_2,ACTARR2_4_3,ACTARR2_4_4
    from NETSQL2.NET.dbo.AF40201 WHERE ReportID=@ReportIDGP9;

    GO

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Abhilash Warrier – Community Spotlight

We are honored to recognize Abhilash Warrier as our Community Spotlight honoree for…

Leaderboard > 🔒一 Microsoft Dynamics GP (Archived)

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans